java 获取文件列表,并按照文件名称排序

需求:获取全部的日志文件,并按照文件名称倒序排列,把最新的文件放在最前
1.获取全部的日志文件:(方法:public List<String> ergodic(File file,List<String> resultFileName))

File[] files = file.listFiles();
if(files==null)return resultFileName;
List<File> fileList = new ArrayList<File>();
for (File f : files) {
    fileList.add(f);
}

2.对fileList集合进行排序:

Collections.sort(fileList, new Comparator<File>() {
    @Override
    public int compare(File o1, File o2) {
        if (o1.isDirectory() && o2.isFile())
            return -1;
        if (o1.isFile() && o2.isDirectory())
            return 1;
        return o2.getName().compareTo(o1.getName());
    }
});

3.递归获取文件子目录

for (File f : fileList) {
    if(f.isDirectory()){
        resultFileName.add(f.getPath());
        ergodic(f,resultFileName);
    }else
        resultFileName.add(f.getPath());
}

 

 

友情赞助

如果您喜欢此文,感觉对您工作有帮助,预期领导会给您涨工资,不妨小额赞助一下,让我有动力继续努力。

赞助方式:打开支付宝App,使用“扫一扫”付款,付款码见下图,别忘了付款留言哦!

posted @ 2013-09-27 16:47  周雷  阅读(41870)  评论(3编辑  收藏  举报
友情链接