说我的系统上某处有一个特定的目录。
C://Users/Public/Local/AppData/saves
我想阅读整个目录,并检查其中的文件是否具有特定的扩展名。例如说.json
。
如果目录中包含多个扩展名为.json
的文件,请列出所有带有其名称的文件。
我可以使用
File file = new File(myPath);
并连续进行file.exists()
,但是如何扫描整个目录中的文件?
这就是我的困惑。
任何帮助将不胜感激。 谢谢。
答案 0 :(得分:0)
在Java 8中,您可以使用Files.walk
Files.walk(Paths.get("/path/to/folder/"))
.filter(p -> p.toString().endsWith(".json"))
.forEach(x -> System.out.println(x.getFileName()));
答案 1 :(得分:0)
老派的可读性文件名过滤器:
File[] jsonFiles=new File("sourcePath").listFiles(new FilenameFilter() {
@Override
public boolean accept(File arg0, String name) {
return name.endsWith(".json");
}
});
或者如果您想使用lambda的东西: 参见java 8 lambda expression for FilenameFilter