如何从首先复制/放置的文件夹(“FIFO”顺序)中轮询文件
场景:如果我在文件夹中放置了10个文件。我怎么先进入文件夹(“FIFO”)
答案 0 :(得分:2)
似乎您想要获取文件并按创建时间对它们进行排序。您可以使用Files.readAttributes(path, BasicFileAttributes.class).creationTime()
执行此操作。有关详细信息,请参阅BasicFileAttributes
文档。
public Stream<Path> filesByCreation(Path folder) throws IOException {
return Files.list(folder).sorted(
Comparator.comparing((Path path) -> {
try {
return Files.readAttributes(path, BasicFileAttributes.class)
.creationTime();
} catch(IOException ex) {
throw new UncheckedIOException(ex);
}
}));
}
用法:
filesByCreation(Paths.get("/path/to/my/folder")).forEach(System.out::println);
答案 1 :(得分:1)
我会得到一个File :: listFiles(),然后编写一个比较器,根据创建的时间对这些文件进行排序。 可以使用以下文件访问文件时间:Determine file creation date in Java
编辑: 这假定在将文件复制/移动到此文件夹时,不会保留创建/更新的时间戳。