Recursively list files in Java

后端 未结 27 2106
走了就别回头了
走了就别回头了 2020-11-22 00:29

How do I recursively list all files under a directory in Java? Does the framework provide any utility?

I saw a lot of hacky implementations. But none from the fra

27条回答
  •  庸人自扰
    2020-11-22 00:40

    I prefer using a queue over recursion for this kind of simple traversion:

    List allFiles = new ArrayList();
    Queue dirs = new LinkedList();
    dirs.add(new File("/start/dir/"));
    while (!dirs.isEmpty()) {
      for (File f : dirs.poll().listFiles()) {
        if (f.isDirectory()) {
          dirs.add(f);
        } else if (f.isFile()) {
          allFiles.add(f);
        }
      }
    }
    

提交回复
热议问题