文件夹详细信息和文件夹内的文件信息使用Java



我有一个文件夹结构,如:E:\Test。在里面我有很多子文件夹,如FolderA、FolderB、FolderC等。

我想要一个java程序,它将列出所有子文件夹和子文件夹中的报告文件。我怎样才能做到这一点?使用下面的片段,我可以访问E:\Test目录中的不同文件夹,但子文件夹中的文件不会出现。

public static void main(String args[]){
File directoryPath = new File("E:\Test\");
File folderPath [] = directoryPath.listFiles(); 
System.out.println("List of files and folders in the directory :  ");
for(File file : folderPath){
System.out.println("Folder Name Is : " +file.getAbsolutePath());
System.out.println("Files under the folderpath are : " +file.listFiles());
System.out.println(" " );
}

}
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class Main {
private static final StringBuilder tabs = new StringBuilder();
public static void main(String[] args) {
try {
Path start = new File("E:\Test\").toPath();
System.out.println("List of files and folders in the directory " + start.getFileName() + ": ");
Files.walk(start).forEach(Main::printInfo);
} catch (IOException ignore) {
}
}
public static void printInfo(Path path) {
String tabs = Main.tabs.toString();
if (Files.isDirectory(path)) {
System.out.println(tabs + "Folder Name Is : " + path.getFileName());
System.out.println(tabs + "Files under the " + path.toString() + ": ");
Main.tabs.append("t");
} else {
System.out.println(tabs + path.getFileName());
}
}
}

最新更新