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

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

     /**
* <strong>在目录中查找文件</strong><br>
* <ul>
* <li>若存在文件则返回文件路径,若不存在则返回空</li>
* <li>若存在参数非法,则返回null</li>
* </ul>
* <br>
* @author Aaron.ffp
* @version V1.0.0: autotest-base cn.ffp.autotest.base.util FileUtils.java search, 2016-03-24 23:17:52.897 Exp $
*
* @param dir 目录
* @param fName 文件名
* @param rec 是否级联目录查找
*
* @return 文件路径
*/
public static String search(String dir, String fName, boolean rec) {
String fp = ""; if (StringUtils.isBlank(dir) || StringUtils.isBlank(fName)) {
msg = "参数非法:目录【" + dir + "】或文件名【" + fName + "】不可为空、null、Tab、回车等,请确认!";
logger.error(msg); return null;
} LinkedList<String> fList = FileUtils.getfList(dir, rec); if (fList.isEmpty()) {
return "";
} for (int i = 0; i < fList.size(); i++) {
if (fList.get(i).endsWith(fName)) {
fp = fList.get(i); return fp;
}
} return fp;
}

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

     @Test(description="public static String FileUtils.search(String dir, String fName, boolean rec) ---> 通过性:级联查找\n", dependsOnGroups="getfList")
public void test_search_rec() {
String dir = ConstantInfo.PROJECT_RESOURCES_TEST;
String fName = "readCsv.csv";
String path = ConstantInfo.PROJECT_RESOURCES_TEST + "APICsvTest" + ConstantInfo.OS_FILE_SEPARATOR + "readCsv.csv"; fileList.clear(); Assert.assertEquals(FileUtils.search(dir, fName, true), path);
} @Test(description="public static String FileUtils.search(String dir, String fName, boolean rec) ---> 破坏性:参数非法\n", dependsOnGroups="getfList")
public void test_search_argInvalid() {
String dir = ConstantInfo.PROJECT_RESOURCES_TEST;
String fName = ""; fileList.clear(); Assert.assertTrue(FileUtils.search(dir, fName, false) == null);
} @Test(description="public static String FileUtils.search(String dir, String fName, boolean rec) ---> 通过性:非级联查找\n", dependsOnGroups="getfList")
public void test_search_notRec() {
String dir = ConstantInfo.PROJECT_RESOURCES_TEST;
String fName = "readCsv.csv"; fileList.clear(); Assert.assertEquals(FileUtils.search(dir, fName, false), "");
}

获取文件在目录中的路径单元测试源码

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

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

Java学习-043-获取文件在目录中的路径的更多相关文章

  1. 【原创】ABAP根据文件路径获取文件所在目录(续)

    在上一篇文章<ABAP根据文件路径获取文件所在目录>中,我主要的思路是采用 “SPLIT dobj AT sep INTO TABLE result_tab” 句型将文件全路径按分隔符“\ ...

  2. iOS 获取文件的目录路径的几种方法 [转]

    iOS 获取文件的目录路径的几种方法 2 years ago davidzhang iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. d ...

  3. Java学习-021-Properties 获取配置项对应的值

    在日常的脚本编写过程中,通常会获取配置文件中的配置项,以执行相应的业务逻辑. 小二上码...若有不足之处,敬请大神指正,不胜感激! 获取配置项值的源码如下所示: /** * Get value fro ...

  4. Java学习-014-文本文件写入实例源代码(两种写入方式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: /** * @fun ...

  5. Java学习-013-文本文件读取实例源代码(两种数据返回格式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...

  6. Java学习-011-创建文件实例及源代码

    此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...

  7. Java学习-010-创建文件夹源代码

    此文源码主要为应用 Java 创建文件目录的源码.若有不足之处,敬请大神指正,不胜感激! 创建文件夹源代码如下所示: /** * @function 文件操作:创建文件夹.若文件夹不存在,则级联创建文 ...

  8. 【原创】ABAP根据文件路径获取文件所在目录

    *&---------------------------------------------------------------------* *& Form frm_get_pat ...

  9. Python开发【笔记】:从海量文件的目录中获取文件名--方法性能对比

    Python获取文件名的方法性能对比 前言:平常在python中从文件夹中获取文件名的简单方法   os.system('ll /data/')   但是当文件夹中含有巨量文件时,这种方式完全是行不通 ...

随机推荐

  1. JS 特殊字符的魅力

    特殊字符的魅力 说在前面—鸭子类型 鸭子类型是动态类型的一种风格,在这种风格中,一个对象有效的语义,不是由继承自特定的类或者实现特定的接口,而是由当前方法和属性的集合决定. “当看到一只鸟走起来像鸭子 ...

  2. 2分钟 windows下sublime text 3安装git插件:

    12:35 2015/11/182分钟 windows下sublime text 3安装git插件:推荐博客:http://blog.csdn.net/naola2001/article/detail ...

  3. 【BZOJ2223/3524】[Coci 2009]PATULJCI

    Description Input   Output 10 3 1 2 1 2 1 2 3 2 3 3 8 1 2 1 3 1 4 1 5 2 5 2 6 6 9 7 10 Sample Input ...

  4. 既然nodejs是单线程的,那么它怎么处理多请求高并发的?

    单线程解决高并发的思路就是采用非阻塞,异步编程的思想.简单概括就是当遇到非常耗时的IO操作时,采用非阻塞的方式,继续执行后面的代码,并且进入事件循环,当IO操作完成时,程序会被通知IO操作已经完成.主 ...

  5. 兼容所有浏览器的设为首页收藏本站js代码

    大家发现传统的收藏本站按钮在360浏览器下面没有效果了,但是360浏览器用户群却非常之大.所以我们在网上找到一个兼容所有浏览器的收藏本站解决方案,具体功能如下: 设为首页 和 收藏本站js代码 兼容I ...

  6. 1047. Student List for Course (25)

    Zhejiang University has 40000 students and provides 2500 courses. Now given the registered course li ...

  7. android中的ActionBar和ToolBar

    一.ToolBar 1.概述 Google在2015的IO大会上发布了系列的Material Design风格的控件.其中ToolBar是替代ActionBar的控件.由于ActionBar在各个安卓 ...

  8. HTML 5 服务器发送事件

    接收 Server-Sent 事件通知 EventSource 对象用于接收服务器发送事件通知: 实例 var source=new EventSource("demo_sse.php&qu ...

  9. MyEclipse自定义快捷键

    MyEclipse快捷键设置 分类: JAVA2011-06-30 09:35 11255人阅读 评论(2) 收藏 举报 myeclipseeclipsetriggersmicrosoftjavabi ...

  10. php课程---练习(联系人信息表)

    做一个联系人表,实现增删改功能 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...