如何扫描特定目录中具有特定扩展名的文件



假设我的系统上有一个特定的目录。 C://Users/Public/Local/AppData/saves

我想阅读整个目录并检查其中的文件是否具有特定的扩展名。 例如,说.json。如果目录有多个扩展名的文件,.json列出所有这些文件及其名称。

我可以使用 File file = new File(myPath);并且连续file.exists(),但是如何扫描整个目录中的文件?这是我感到困惑的地方。

任何帮助将不胜感激。谢谢。

老派非常可读的文件名过滤器:

    File[] jsonFiles=new File("sourcePath").listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File arg0, String name) {
            return name.endsWith(".json");
        }
    });

或者如果你想使用 lambda 的东西:请参阅 Java 8 lambda 表达式以获取文件名过滤器

在 Java 8 中,您可以使用Files.walk

Files.walk(Paths.get("/path/to/folder/"))
.filter(p -> p.toString().endsWith(".json"))
.forEach(x -> System.out.println(x.getFileName()));

最新更新