java 打开文件夹 博客分类: JavaJava Web 打开文件夹打开目录浏览文件打开文件java
程序员文章站
2024-02-24 18:53:58
...
使用java 语言,如何打开文件夹和浏览文件呢?
打开文件夹或打开目录
/*** * * @param folder * : directory */ public static void open_directory(String folder) { File file = new File(folder); if (!file.exists()) { return; } Runtime runtime = null; try { runtime = Runtime.getRuntime(); if (!SystemUtil.isWindows) { // System.out.println("is linux"); runtime.exec("nautilus " + folder); } else { runtime.exec("cmd /c start explorer " + folder); } } catch (IOException ex) { ex.printStackTrace(); } finally { if (null != runtime) { runtime.runFinalization(); } } }
浏览文件:
/*** * * @param filePath * : only regular file */ public static void open_file(String filePath) { File file = new File(filePath); if (!file.exists()) { return; } Runtime runtime = null; try { runtime = Runtime.getRuntime(); if (!SystemUtil.isWindows) { // System.out.println("is linux"); runtime.exec("nautilus " + filePath); } else { runtime.exec("cmd /c start explorer /select,/e, " + filePath); } } catch (IOException ex) { ex.printStackTrace(); } finally { if (null != runtime) { runtime.runFinalization(); } } }
应用:
openFileButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { FileUtils.open_file(sourceTF.getText()); } }); openFolderButton = new JButton("打开文件夹"); openFolderButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //打开文件夹 FileUtils.open_directory(targetTF.getText()); } });
请参阅附件中的类com.io.hw.file.util.FileUtils
---------------2016年9月11日 优化代码-----------------
/*** * * @param folderObj * : directory */ public static void open_directory(Object folderObj) { if (ValueWidget.isNullOrEmpty(folderObj)) { return; } File file = null; /*if (folderObj instanceof JTextField) { JTextField tf = (JTextField) folderObj; file = new File(tf.getText()); } else */if (folderObj instanceof String) { file = new File((String) folderObj); } else { file = (File) folderObj; } if (!file.exists()) { return; } Runtime runtime = null; try { runtime = Runtime.getRuntime(); if (SystemHWUtil.isWindows) { runtime.exec("cmd /c start explorer " + file.getAbsolutePath()); } else if (SystemHWUtil.isMacOSX) {//苹果电脑,比如MacBook String cmdPrefix; if (file.isDirectory()) { cmdPrefix = "open "; } else { cmdPrefix = "open -R "; } runtime.exec(cmdPrefix + file.getAbsolutePath()); } else { runtime.exec("nautilus " + file.getAbsolutePath()); } } catch (IOException ex) { ex.printStackTrace(); } finally { if (null != runtime) { runtime.runFinalization(); } } }
参考:http://blog.marchtea.com/archives/119
作者:黄威
主页: http://blog.csdn.net/hw1287789687