【问题标题】:How to list directory items from a directory java [duplicate]如何从目录java中列出目录项[重复]
【发布时间】:2021-03-02 21:49:34
【问题描述】:

我正在构建一个程序,其中输入是目录路径,输出应显示此路径中的所有文件,包括给定路径中的目录中的文件。 例如: 输入: C: 输出: C:/Directory1C:/Directory1/file1.pdf .

static string Directory = sc.next();
static File folder = new File(Directory);
static File[]listofFiles = folder.listFiles();

public static void ListOfFilesInADirectory (final File folder) {
for (int i = 0; i < listofFiles.length; i++) { 
              if (listofFiles[i].isFile()) {           
                System.out.println("File " + listofFiles[i].getName());
              } else if (listofFiles[i].isDirectory()) { 
                System.out.println("Directory " + listofFiles[i].getName());
              }
            }
    }

上面的代码是该目录的输入和该目录中所有文件的输出的代码,但不是该目录的文件夹中的文件。怎么也能显示director文件夹中的文件?

【问题讨论】:

    标签: java


    【解决方案1】:

    听起来你想要这样的东西......

    \---folder
        |   file1.txt
        |   file2.txt
        |
        \---subfolder
                file3.txt
                file4.txt
    

    要打印...

    folder\file1.txt
    folder\file2.txt
    folder\subfolder\file3.txt
    folder\subfolder\file4.txt
    

    如果这个假设是正确的,一种解决方案是尝试使用 java.nio.file.Files.walk(Path)。

    Files.walk(Paths.get("folder"))
            .filter(Files::isRegularFile)
            .forEach(System.out::println);//print out the files in all directories from root
    

    Files.walk(path) 可以通过遍历以给定起始文件为根的文件树来返回这些子文件夹文件。

    【讨论】:

      猜你喜欢
      • 2016-04-02
      • 1970-01-01
      • 2012-09-14
      • 2018-12-06
      • 2015-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      相关资源
      最近更新 更多