对文件夹下的文件及文件夹进行排序
2017-01-11 09:23
330 查看
我们在开发测试平台的时候,遇到一个这样的问题:通过给远程主机发送一个命令,执行自动化测试用例后,需要获取自动化测试用例report文件夹上新产生的测试报告。测试报告是以时间戳命名的文件夹,但同时会更新几个其他的文件,如下图所示:
我们需要做的是取出最新产生的文件夹,拉取到本地保存起来。可是如何获取最新产生的文件夹呢?网上查了一下,有如下的方法:
(1) 给出文件路径,对文件夹下的所有文件及文件夹进行排序.
运行图:
我们需要做的是取出最新产生的文件夹,拉取到本地保存起来。可是如何获取最新产生的文件夹呢?网上查了一下,有如下的方法:
(1) 给出文件路径,对文件夹下的所有文件及文件夹进行排序.
import java.io.File; import java.util.Arrays; import java.util.Comparator; public class FileSort { public static void main(String[] args) { File file = new File("F:/MerDescription/imp-19038075415690540"); if (file.isDirectory()) { // 判断file是否为目录 String[] fileNames = file.list(); Arrays.sort(fileNames, new Comparator<String>() { @Override public int compare(String s1, String s2) { if(returnDouble(s1)<returnDouble(s2)) return -1; else if(returnDouble(s1)>returnDouble(s2)) return 1; else return 0; } public double returnDouble(String str){ StringBuffer sb = new StringBuffer(); for(int i=0;i<str.length();i++){ if(Character.isDigit(str.charAt(i))) sb.append(str.charAt(i)); else if(str.charAt(i)=='.'&&i<str.length()-1&&Character.isDigit(str.charAt(i+1))) sb.append(str.charAt(i)); else break; } if(sb.toString().isEmpty()) return 0; else return Double.parseDouble(sb.toString()); } }); for (int i = 0; i < fileNames.length; i++) { System.out.println(fileNames[i]); } } } }
运行图:
相关文章推荐
- 有关ARM启动流程分析
- div隐藏问题
- 收藏书签
- spring Aspect 切面日志
- Spring view controller
- LeetCode Number Complement
- 通过添加类和媒体查询实现侧边导航栏的显示隐藏效果
- tftp在嵌入式中应用
- C数据结构---计数排序实现
- Android 系列 6.15处理长时间点击事件
- Oracle Log File Sync问题分析
- http://bugs.mysql.com/bug.php?id=72123
- 属性动画二--ValueAnimator
- matlab的cat函数
- Atom插件开发入门教程(四)
- Android如何实时监控CPU频率
- android中增删改查数据库数据并加载到ListView
- 星际文件存储IPFS是如何颠覆云存储的?
- Myeclipse错误:Errors occurred during the build. Errors running builder 'Deployment
- Bag of Features (BOF)图像检索算法