<分区>
在具有新 I/O API 的 Java 7 中,是否有一种简单的方法可以按上次修改日期列出目录内容?基本上我只需要获取最长时间未修改的文件(按最后修改的升序排序,取第一个文件名)。
<分区>
在具有新 I/O API 的 Java 7 中,是否有一种简单的方法可以按上次修改日期列出目录内容?基本上我只需要获取最长时间未修改的文件(按最后修改的升序排序,取第一个文件名)。
最佳答案
没有真正的“简单方法”来做到这一点,但有可能:
List<Path> files = new ArrayList<>();
try(DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
for(Path p : stream) {
files.add(p);
}
}
Collections.sort(files, new Comparator<Path>() {
public int compare(Path o1, Path o2) {
try {
return Files.getLastModifiedTime(o1).compareTo(Files.getLastModifiedTime(o2));
} catch (IOException e) {
// handle exception
}
}
});
这会将文件排序为最早修改的文件。 DirectoryStream
不会遍历子目录。
关于java - 获取按上次修改排序的目录中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12253908/