首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java NIO2 -返回递归Collection<Path>

Java NIO2 -返回递归Collection<Path>
EN

Stack Overflow用户
提问于 2012-02-06 22:37:46
回答 1查看 1.1K关注 0票数 1

我正在研究Java7中的新功能。我希望在给定特定输入目录的情况下获得返回的Collection对象。

目前我正在使用(org.apache.commons.io)

代码语言:javascript
复制
Collection<File> files = FileUtils.listFiles(myInputFile, ...);

相反,我想做一些类似这样的事情:

代码语言:javascript
复制
Collection<Path> paths = listPathsUsingJava7(myInputPath, ...);

但是,我在示例/文档中看不到任何具体的实现方法。我看到了DirectoryStreams,它似乎不做递归。我还看到了Vistors,它可以让你在当前对象上执行操作,而不是将它添加到Collection中。

有谁有正确方法的Java7示例吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-06 22:48:08

接下来,JDK7代码会将文件夹和子文件夹中的所有文件添加到files中。

代码语言:javascript
复制
    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;
        }
    });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9161768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档