繁体   English   中英

java.io API:list方法

[英]java.io API : list method

我正在使用java.io API。 我的目录中有很多文件用于以下模式。

    FilenameFilter fileFilter = new FilenameFilter() {
        public boolean accept(File dir, String name) {

            return name.matches(filePrefix+"_.*\\."+fileExt);

        }
    };

    String listFiles [] = dirFile.list(fileFilter);
       for(int i = 0 ;i < listFiles.length ; i++){
        listOfFiles.add(listFiles[i]);
        // need only 10 files to processed
        if(i == 10){
            break;
        }
    }

我想知道list方法将基于what得到列表。我是否想要基于时间的排序,例如 - 如果我想要10个最旧/最新的文件。

我该怎么做

方案:

Arrays.sort(listFiles, new Comparator<File>() {

        @Override
        public int compare(File f1, File f2) {
            return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
        }
    });

以上仅过滤 你可能最好使用File.listFiles()方法,该方法返回一组File对象(你可以提供一个可选的过滤器,如上所述)。 这些对象将具有您想要进一步排序的属性(可能是编写自定义Comparator ?)。 这里的文档和教程排序这里

您可以使用'listFiles(fileFilter)'列出文件对象而不是字符串,然后sort/filter它们进行sort/filter

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM