java - 如何列出特定目录中所有新创建的文件?

标签 java file

列出在两个时间戳之间创建的文件的方法是什么?我想列出所有新创建的文件,然后将它们移动到不同的目录。

我正在 Windows 上工作

最佳答案

public void afterDate() throws IOException {
    final String pathToDirectory = "/path/to/directory";
    final long afterDate = new Date().getTime();
    final List<Path> paths = new ArrayList<>();
    final Path directory = Paths.get(pathToDirectory);
    try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(directory)) {
        for (Path path : directoryStream) {
            final BasicFileAttributes attr = Files.readAttributes(path, BasicFileAttributes.class);
            final long creationTime = attr.creationTime().toMillis();
            if (creationTime >= afterDate) {
                paths.add(path);
            }
        }
    }
    for (final Path path : paths) {
        System.out.println(path.getFileName());
    }

}

关于java - 如何列出特定目录中所有新创建的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31647969/

相关文章:

file - 从文件中读取 Common Lisp

c++ - 如何使用 CreateFile 在 UnBuffered 模式下在 Windows 中追加文件

c# - 按顺序使用数组获取文件

java - 不使用 volatile 关键字的影响是否特定于平台?

java - 确定二级缓存是否在 hibernate 中工作的问题

php - 我怎样才能用 TCPDF 省略 Helvetica?

c++ - ofstream 中不需要的回车

java - "JavaDatasetSuiteBase"的示例测试用例失败,spark-testing-base_2.11

java - 如何更改 Spring Security 中 ProviderManager 的行为?

java - 'CompletionStage' 和 'CompletableFuture' 有什么区别