Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何按FIFO顺序从文件夹轮询文件_Java_File_Java 8_Java 7 - Fatal编程技术网

Java 如何按FIFO顺序从文件夹轮询文件

Java 如何按FIFO顺序从文件夹轮询文件,java,file,java-8,java-7,Java,File,Java 8,Java 7,如何从最先复制/放置的文件夹中轮询文件(“FIFO”顺序) 场景:如果我在文件夹中放置了10个文件。如何获取首先进入文件夹(“FIFO”)我将获取一个文件::listFiles(),然后编写一个比较器,根据创建的时间对这些文件进行排序。 可以使用以下方法访问文件时间: 编辑: 这假设在将文件复制/移动到此文件夹时,创建/更新的时间戳不会保留 似乎您希望获取文件并按创建时间对其进行排序。您可以使用Files.readAttributes(path,BasicFileAttributes.class

如何从最先复制/放置的文件夹中轮询文件(“FIFO”顺序)


场景:如果我在文件夹中放置了10个文件。如何获取首先进入文件夹(“FIFO”)

我将获取一个文件::listFiles(),然后编写一个比较器,根据创建的时间对这些文件进行排序。 可以使用以下方法访问文件时间:

编辑:
这假设在将文件复制/移动到此文件夹时,创建/更新的时间戳不会保留

似乎您希望获取文件并按创建时间对其进行排序。您可以使用
Files.readAttributes(path,BasicFileAttributes.class).creationTime()执行此操作。
。有关详细信息,请参阅文档

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);
               }
           }));
}
请注意,在linux上。您可能希望在某些元文件或文件名中编码该信息,或者考虑使用其他时间之一,例如上次修改。
filesByCreation(Paths.get("/path/to/my/folder")).forEach(System.out::println);