Java学习-043-获取文件在目录中的路径

我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名。在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现。

获取文件在目录中的路径方法源码如下所示:

 1     /**
 2      * <strong>在目录中查找文件</strong><br>
 3      * <ul>
 4      * <li>若存在文件则返回文件路径,若不存在则返回空</li>
 5      * <li>若存在参数非法,则返回null</li>
 6      * </ul>
 7      * <br>
 8      * @author Aaron.ffp
 9      * @version V1.0.0: autotest-base cn.ffp.autotest.base.util FileUtils.java search, 2016-03-24 23:17:52.897 Exp $
10      * 
11      * @param dir 目录
12      * @param fName 文件名
13      * @param rec 是否级联目录查找
14      * 
15      * @return 文件路径
16      */
17     public static String search(String dir, String fName, boolean rec) {
18         String fp = "";
19         
20         if (StringUtils.isBlank(dir) || StringUtils.isBlank(fName)) {
21             msg = "参数非法:目录【" + dir + "】或文件名【" + fName + "】不可为空、null、Tab、回车等,请确认!";
22             logger.error(msg);
23             
24             return null;
25         }
26         
27         LinkedList<String> fList = FileUtils.getfList(dir, rec);
28         
29         if (fList.isEmpty()) {
30             return "";
31         }
32         
33         for (int i = 0; i < fList.size(); i++) {
34             if (fList.get(i).endsWith(fName)) {
35                 fp = fList.get(i);
36                 
37                 return fp;
38             }
39         }
40         
41         return fp;
42     }
43     

获取文件在目录中的路径单元测试源码如下所示:

 1     @Test(description="public static String FileUtils.search(String dir, String fName, boolean rec) ---> 通过性:级联查找
", dependsOnGroups="getfList")
 2     public void test_search_rec() {
 3         String dir = ConstantInfo.PROJECT_RESOURCES_TEST;
 4         String fName = "readCsv.csv";
 5         String path = ConstantInfo.PROJECT_RESOURCES_TEST + "APICsvTest" + ConstantInfo.OS_FILE_SEPARATOR + "readCsv.csv";
 6         
 7         fileList.clear();
 8         
 9         Assert.assertEquals(FileUtils.search(dir, fName, true), path);
10     }
11     
12     @Test(description="public static String FileUtils.search(String dir, String fName, boolean rec) ---> 破坏性:参数非法
", dependsOnGroups="getfList")
13     public void test_search_argInvalid() {
14         String dir = ConstantInfo.PROJECT_RESOURCES_TEST;
15         String fName = "";
16         
17         fileList.clear();
18         
19         Assert.assertTrue(FileUtils.search(dir, fName, false) == null);
20     }
21     
22     @Test(description="public static String FileUtils.search(String dir, String fName, boolean rec) ---> 通过性:非级联查找
", dependsOnGroups="getfList")
23     public void test_search_notRec() {
24         String dir = ConstantInfo.PROJECT_RESOURCES_TEST;
25         String fName = "readCsv.csv";
26         
27         fileList.clear();
28         
29         Assert.assertEquals(FileUtils.search(dir, fName, false), "");
30     }
获取文件在目录中的路径单元测试源码

至此, Java学习-043-获取文件在目录中的路径 顺利完结,希望此文能够给初学 JavaWeb 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

 

 

原文地址:https://www.cnblogs.com/fengpingfan/p/5317909.html