假设我的系统上有一个特定的目录。 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()));