Java程序打开浏览器和文件夹

简介:

Java程序打开浏览器和文件夹

(1)打开网址

Java代码   收藏代码
  1. //启用系统默认浏览器来打开网址。  
  2.         try {  
  3.             URI uri = new URI("file:///"+fileFullPath.replaceAll("\\\\", "/"));  
  4.             Desktop.getDesktop().browse(uri);  
  5.         } catch (URISyntaxException e2) {  
  6.             e2.printStackTrace();  
  7. //            GUIUtil23.errorDialog(e2);  
  8.             ToastMessage.toast(e2.getMessage(),3000,Color.red);  
  9.         } catch (IOException e2) {  
  10.             e2.printStackTrace();  
  11. //            GUIUtil23.errorDialog(e2);  
  12.             ToastMessage.toast(e2.getMessage(),3000,Color.red);  
  13.         }  

 

 

(2)打开文件所在文件夹

Java代码   收藏代码
  1. String pathStr=this.tf.getText();  
  2.             if(!ValueWidget.isNullOrEmpty(pathStr)){  
  3.                 FileUtils.open_directory(SystemHWUtil.getParentDir(pathStr));  
  4.             }  

FileUtils.open_directory实现体为:

Java代码   收藏代码
  1. /*** 
  2.      *  
  3.      * @param folder 
  4.      *            : directory 
  5.      */  
  6.     public static void open_directory(Object folderObj) {  
  7.         if (ValueWidget.isNullOrEmpty(folderObj)) {  
  8.             return;  
  9.         }  
  10.         File file = null;  
  11.         /*if (folderObj instanceof JTextField) { 
  12.             JTextField tf = (JTextField) folderObj; 
  13.             file = new File(tf.getText()); 
  14.         } else */if (folderObj instanceof String) {  
  15.             file = new File((String) folderObj);  
  16.         } else {  
  17.             file = (File) folderObj;  
  18.         }  
  19.         if (!file.exists()) {  
  20.             return;  
  21.         }  
  22.         Runtime runtime = null;  
  23.         try {  
  24.             runtime = Runtime.getRuntime();  
  25.             if (SystemHWUtil.isWindows) {  
  26.                 runtime.exec("cmd /c start explorer " + file.getAbsolutePath());  
  27.             } else {  
  28.                 runtime.exec("nautilus " + file.getAbsolutePath());  
  29.   
  30.             }  
  31.         } catch (IOException ex) {  
  32.             ex.printStackTrace();  
  33.         } finally {  
  34.             if (null != runtime) {  
  35.                 runtime.runFinalization();  
  36.             }  
  37.         }  
  38.     }  

 

 

 

(3)使用notepad打开txt文件

 

Java代码   收藏代码
  1. final String pathStr=this.tf.getText();  
  2.             if(!ValueWidget.isNullOrEmpty(pathStr)){  
  3.                 new Thread(new Runnable() {  
  4.                     @Override  
  5.                     public void run() {  
  6.                         String result;  
  7.                         try {  
  8.                             result = CMDUtil.execute(new String[]{"cmd""/c""notepad", pathStr}, nullnull);  
  9.                             System.out.println(result);  
  10.                         } catch (IOException ex) {  
  11.                             ex.printStackTrace();  
  12.                         }  
  13.                     }  
  14.                 }).start();  
  15.             }  

 CMDUtil.execute实现如下:

 

 

Java代码   收藏代码
  1. /*** 
  2.      *  
  3.      * @param command 
  4.      * @param cmdFolder : 命令的路径 
  5.      * @param charset 
  6.      * @return 
  7.      * @throws IOException 
  8.      */  
  9.     public static String execute(String[]command,String cmdFolder,String charset) throws IOException{  
  10.          BufferedReader reader = null;  
  11.          Process p = null;  
  12.          String errorInputStr = null;  
  13.             try  
  14.             {  
  15. //              String commandFolder=;  
  16.                 if(ValueWidget.isNullOrEmpty(charset)){  
  17.                     charset=SystemHWUtil.CURR_ENCODING;  
  18.                 }  
  19.                 if(ValueWidget.isNullOrEmpty(cmdFolder)){  
  20.                     p = Runtime.getRuntime().exec(command);  
  21.                 }else{  
  22.                     File cmdFolder2=null;  
  23.                     if(!ValueWidget.isNullOrEmpty(cmdFolder)){  
  24.                         cmdFolder2=new File(cmdFolder/*命令的所在目录*/);  
  25.                         p = Runtime.getRuntime().exec(command, null,cmdFolder2/*命令的路径*/);//)  
  26.                     }else{  
  27.                         p = Runtime.getRuntime().exec(command, null);//)  
  28.                     }  
  29.                       
  30.                       
  31.                 }  
  32.                 reader = new BufferedReader(new InputStreamReader(p  
  33.                         .getInputStream(),charset));  
  34.                 errorInputStr=FileUtils.getFullContent4(p.getErrorStream(),charset);  
  35.                 if(!ValueWidget.isNullOrEmpty(errorInputStr)){  
  36.                     System.out.println("error:"+errorInputStr);  
  37.                 }  
  38.                 StringBuilder sb = new StringBuilder();  
  39.                 String readedLine = null;  
  40.                 try  
  41.                 {  
  42.                     while ((readedLine = reader.readLine()) != null)  
  43.                     {  
  44.                         sb.append(readedLine);  
  45.                         sb.append("\r\n");  
  46.                     }  
  47.                 }  
  48.                 catch (IOException e)  
  49.                 {  
  50.                     e.printStackTrace();  
  51.                 }  
  52.                 finally  
  53.                 {  
  54.                     try  
  55.                     {  
  56.                         reader.close();  
  57.                         p.destroy();  
  58.                     }  
  59.                     catch (IOException e)  
  60.                     {  
  61.                         e.printStackTrace();  
  62.                     }  
  63.                 }  
  64.                 String content = sb.toString();  
  65.                 System.out.println(content);  
  66.             }  
  67.             catch (IOException e)  
  68.             {  
  69.                 e.printStackTrace();  
  70.                 throw e;  
  71.             }  
  72.             return errorInputStr;  
  73.     }  

 

相关文章
|
1月前
|
Java
java程序导出堆文件
java程序导出堆文件
|
1月前
|
SQL Oracle Java
sql文件批处理程序-java桌面应用
sql文件批处理程序-java桌面应用
25 0
|
1月前
|
存储 Java
Java:编写程序,计算两个数的和、差、积、商和余数。docx
Java:编写程序,计算两个数的和、差、积、商和余数。docx
|
1月前
|
安全 Java 数据库连接
【Java每日一题】——第四十一题:编写程序描述影视歌三栖艺人。
【Java每日一题】——第四十一题:编写程序描述影视歌三栖艺人。
25 0
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
【2月更文挑战第13天】《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程) 上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。
62 1
|
1月前
|
Web App开发 Java 测试技术
《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
【2月更文挑战第12天】《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程) 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。
40 1
|
8天前
|
Java Maven
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
【Java报错】显示错误“Error:java: 程序包org.springframework.boot不存在“
32 3
|
3天前
|
Java 测试技术 定位技术
《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
【4月更文挑战第15天】本文介绍了如何使用Selenium进行浏览器窗口切换以操作不同页面元素。首先,获取浏览器窗口句柄有两种方法:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口句柄。在项目实战部分,给出了一个示例,展示了在百度首页、新闻页面和地图页面之间切换并输入文字的操作。最后,文章还探讨了在某些情况下可能出现的问题,并提供了一个简单的本地HTML页面示例来演示窗口切换的正确操作。
24 0
|
23天前
|
Java
elasticsearch使用java程序添加删除修改
elasticsearch使用java程序添加删除修改
9 0
|
30天前
|
Java
java程序
re是java运行时的环境,包含jvm和运行时所需要的类库 jdk是java开的程序包,包含jre和开发人员使用的工具 jvm就是我们常说的java虚拟机,他是整个java实现跨平台的最核心 的部分,所有的java程序会首先被编译为.class的类文件,这种类文 件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统 相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释 给本地系统执行。 只有jvm还不能成class的执行,因为再解释class的时候jvm需要调用 解释所需要的类库lib,而jre包含lib类库。jvm屏蔽了与具体操作系 统平台相关的信息,使得java程
17 0