使用java程序获取文件之间的最后一个文件

时间:2014-05-16 16:12:36

标签: java

如何在java目录中找到最后修改过的文件? 获取上次修改java文件的文件名 EXP:我有: test_4755_err.log。 test_4588_err.log。 test_14587_err.log.` 我想在这些文件之间得到最后一个文件

1 个答案:

答案 0 :(得分:0)

您是否只是在寻找上次修改过的文件?你可以这样做:

File lastModified = null;
String directory = "."; // replace with your directory
File[] files = new File(directory).listFiles();
if(files != null){
    Arrays.sort(files, new Comparator<File>(){
        @Override
        public int compare(File o, File t){
            // reverse the ordering so the newest file is first in the array
            return -1 * Long.compare(o.lastModified(), t.lastModified());
        }
    });
    lastModified = files[0];
}

正如所指出的,这会更有效:

File newest = null
for(File f : new File(dir).listFiles()){
    if(newest == null || f.lastModified() > newest.lastModified()){
        newest = f;
    }
}