与文件路径相关操作

简介:

与文件路径相关的操作

(1)判断给定路径是否是绝对路径

例如d:\bin和E:是绝对路径,而..\temp 和 test\ccc 不是绝对路径

Java代码   收藏代码
  1. public static final String OSNAME = System.getProperty("os.name");  
  2. public static boolean isWindows = false;  
  3.     public static boolean isHP_UX = false;  
  4.     public static boolean isSolaris = false;  
  5.     public static boolean isOS32bit = true;  
  6. static {  
  7.         if (SystemHWUtil.OSNAME.toLowerCase().contains("window")) {  
  8.             isWindows = true;  
  9.         }  
  10.         if (SystemHWUtil.OSNAME.toLowerCase().contains("hp-ux")) {  
  11.             isHP_UX = true;  
  12.         }  
  13.         if (SystemHWUtil.OSNAME.toLowerCase().contains("Solaris")) {  
  14.             isSolaris = true;  
  15.         }  
  16.         if (SystemHWUtil.OSARCH.contains("64")) {  
  17.             isOS32bit = false;  
  18.         }  
  19.     }  
  20.   
  21. /*** 
  22.      * Determine whether it is an absolute path. 
  23.      *  
  24.      * @param input 
  25.      * @return 
  26.      */  
  27.     public static boolean isAbsolutePath(String input) {  
  28.         if (ValueWidget.isNullOrEmpty(input)) {  
  29.             throw new RuntimeException("can not be null");  
  30.         }  
  31.         if (isWindows) {  
  32.             return input.matches("^[a-zA-Z]:\\\\?.*");//"^[a-zA-Z]:\\\\.*"  
  33.         } else {  
  34.             return input.matches("^/.*");  
  35.         }  
  36.     }  

 测试代码:

Java代码   收藏代码
  1. @Test  
  2.     public void test_isAbsolutePath(){  
  3.         String path="d:\\bin";  
  4.         System.out.println(SystemHWUtil.isAbsolutePath(path));  
  5.     }  

 执行结果:true

 

 

(2)打开指定路径

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.                 // System.out.println("is linux");  
  27.                 runtime.exec("nautilus " + file.getAbsolutePath());  
  28.             } else {  
  29.                 runtime.exec("cmd /c start explorer " + file.getAbsolutePath());  
  30.             }  
  31.         } catch (IOException ex) {  
  32.             ex.printStackTrace();  
  33.         } finally {  
  34.             if (null != runtime) {  
  35.                 runtime.runFinalization();  
  36.             }  
  37.         }  
  38.     }  
  39.   
  40.     /*** 
  41.      *  
  42.      * @param filePath 
  43.      *            : only regular file 
  44.      */  
  45.     public static boolean open_file(Object folderObj) {  
  46.         if (ValueWidget.isNullOrEmpty(folderObj)) {  
  47.             return false;  
  48.         }  
  49.         File file = null;  
  50.         if (folderObj instanceof JTextField) {  
  51.             JTextField tf = (JTextField) folderObj;  
  52.             file = new File(tf.getText());  
  53.         } else if (folderObj instanceof String) {  
  54.             file = new File((String) folderObj);  
  55.         } else {  
  56.             file = (File) folderObj;  
  57.         }  
  58.         if (!file.exists()) {  
  59.             return false;  
  60.         }  
  61.         Runtime runtime = null;  
  62.         try {  
  63.             runtime = Runtime.getRuntime();  
  64.             if (!SystemHWUtil.isWindows) {  
  65.                 // System.out.println("is linux");  
  66.                 runtime.exec("nautilus " + file.getAbsolutePath());  
  67.             } else {  
  68.                 runtime.exec("cmd /c start explorer /select,/e, "  
  69.                         + file.getAbsolutePath());  
  70.             }  
  71.         } catch (IOException ex) {  
  72.             ex.printStackTrace();  
  73.             return false;  
  74.         } finally {  
  75.             if (null != runtime) {  
  76.                 runtime.runFinalization();  
  77.             }  
  78.         }  
  79.         return true;  
  80.     }  

 

见附件中类com.io.hw.file.util.FileUtils

相关文章
|
8月前
讲解:如何根据txt文本列出的文件名批量查找指定文件夹里的文件并复制到新的文件夹里 , 按照文件名批量复制文件 , 根据文件名批量复制 , 通过文件名批量复制文件
该文介绍了一款批量文件处理软件,用于解决三类问题:依据文件名清单批量复制图片、筛选PDF文件及删除指定文件。用户可从百度或腾讯下载链接获取软件。操作步骤包括加载文件夹、输入文件名清单、设置目标位置、选择操作类型(复制、剪切或删除)及匹配方式,然后开始查找。软件能快速处理大量文件,提高办公效率,避免手动操作。查找结果会显示在特定文件夹和日志中,记录每个操作详情。
789 5
|
8月前
|
Windows
推荐:如何批量根据PDF文件名批量查找PDF文件,复制到指定地方保存,通过文件名批量复制文件,按照文件名批量复制文件,根据文件名批量提取文件
该文介绍了一个批量查找PDF文件(不限于找PDF)的工具,用于在多级文件夹中快速查找并复制特定文件。通过下载提供的软件,用户可以加载PDF库,输入文件名列表,设置操作参数(如保存路径、复制或删除)及搜索模式。软件能高效执行,例如在1.1秒内完成对数千文件中的37个目标文件的复制,显著提升了工作效率,避免了手动逐个查找和复制的繁琐。
643 0
|
Shell
6.2.3 取得路径的文件名称与目录名称
6.2.3 取得路径的文件名称与目录名称
76 0
|
Java
查询文件路径
查询文件路径
109 0
更改文件名
更改文件名
128 0
File类详解(获取文件名称、大小、路径、创建等)
File类详解(获取文件名称、大小、路径、创建等)
1215 1
|
消息中间件 JavaScript 小程序
九种方式,教你读取 resources 目录下的文件路径
本文中提供了九种方式获取resources目录下文件的。其中打印文件的方法如下
C#编程:通过文件路径获取文件名
C#编程:通过文件路径获取文件名
357 0
|
缓存 C语言 iOS开发
获取文件路径
获取文件路径
179 0