我正在研究Java7中的新功能。我希望在给定特定输入目录的情况下获得返回的Collection对象。
目前我正在使用(org.apache.commons.io)
Collection<File> files = FileUtils.listFiles(myInputFile, ...);相反,我想做一些类似这样的事情:
Collection<Path> paths = listPathsUsingJava7(myInputPath, ...);但是,我在示例/文档中看不到任何具体的实现方法。我看到了DirectoryStreams,它似乎不做递归。我还看到了Vistors,它可以让你在当前对象上执行操作,而不是将它添加到Collection中。
有谁有正确方法的Java7示例吗?
谢谢!
发布于 2012-02-06 22:48:08
接下来,JDK7代码会将文件夹和子文件夹中的所有文件添加到files中。
final List<Path> files = new ArrayList<>();
Files.walkFileTree(Paths.get(myInputPath), new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
files.add(file);
return FileVisitResult.CONTINUE;
}
});https://stackoverflow.com/questions/9161768
复制相似问题