首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java的文件树系统仅获取文件和文件夹,而不获取子目录

使用Java的文件树系统仅获取文件和文件夹,而不获取子目录
EN

Stack Overflow用户
提问于 2015-10-17 23:34:15
回答 2查看 1.3K关注 0票数 0

因此,我必须使用Java文件树系统,因为出于某种原因,.listfiles文件在远程网络中的传输速度非常慢。然而,所有的Java文件树系统示例都列出了子目录中的所有文件,这严重减慢了程序的运行速度。我如何才能使它只搜索目录并仅返回该目录中的文件夹和文件的名称,而不是子目录。

示例代码:

代码语言:javascript
复制
package javaapplication6;

import java.io.IOException;
import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;

/** Recursive listing with SimpleFileVisitor in JDK 7. */
public final class JavaApplication6 {

  public static void main(String... aArgs) throws IOException{
    String ROOT = "\\\\directory";
    FileVisitor<Path> fileProcessor = new ProcessFile();
    Files.walkFileTree(Paths.get(ROOT), fileProcessor);
  }

  private static final class ProcessFile extends SimpleFileVisitor<Path> {
    @Override public FileVisitResult visitFile(
      Path aFile, BasicFileAttributes aAttrs
    ) throws IOException {
      System.out.println("Processing file:" + aFile);
      return FileVisitResult.CONTINUE;
    }

    @Override  public FileVisitResult preVisitDirectory(
      Path aDir, BasicFileAttributes aAttrs
    ) throws IOException {
      System.out.println("Processing directory:" + aDir);
      return FileVisitResult.CONTINUE;
    }
  }
} 

任何见解或帮助都将非常感谢,谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-10-18 00:16:35

使用目录流似乎更快更容易地工作。

票数 0
EN

Stack Overflow用户

发布于 2016-08-31 09:52:57

使用允许设置maxDepth的较长版本的walkFileTree方法,如下所示:

代码语言:javascript
复制
Files.walkFileTree(Paths.get(ROOT), EnumSet.noneOf(FileVisitOption.class),
   1, fileProcessor);

注意,与更简单的情况不同,根目录的子目录将生成对visitFile的调用。通常,maxDepth级的子目录会生成对visitFile的调用,但不会生成对preVisitDirectorypostVisitDirectory的调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33188369

复制
相关文章

相似问题

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