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扫描某个文件夹且要保证不重复扫描,如何实现?
【10月更文挑战第18天】Java扫描某个文件夹且要保证不重复扫描,如何实现?
51 3
|
1月前
|
Java 流计算
利用java8 的 CompletableFuture 优化 Flink 程序
本文探讨了Flink使用avatorscript脚本语言时遇到的性能瓶颈,并通过CompletableFuture优化代码,显著提升了Flink的QPS。文中详细介绍了avatorscript的使用方法,包括自定义函数、从Map中取值、使用Java工具类及AviatorScript函数等,帮助读者更好地理解和应用avatorscript。
利用java8 的 CompletableFuture 优化 Flink 程序
|
2月前
|
XML 存储 JSON
Java程序部署
Java程序部署
|
29天前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
|
1月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
52 2
|
1月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
58 2
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
|
1月前
|
监控 Java
Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
【10月更文挑战第13天】Java定时扫码一个文件夹下的文件,如何保证文件写入完成后才进行处理?
105 1
|
1月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
104 1
|
1月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
40 1
|
2月前
|
消息中间件 分布式计算 Java
Linux环境下 java程序提交spark任务到Yarn报错
Linux环境下 java程序提交spark任务到Yarn报错
44 5
下一篇
无影云桌面