如何打印目录层次结构?(How to print the directory hierarchy?)
优质
小牛编辑
128浏览
2023-12-01
问题描述 (Problem Description)
如何打印目录的层次结构?
解决方案 (Solution)
下面的示例演示如何使用File类的file.getName()和file.listFiles()方法打印指定目录的层次结构。
import java.io.File;
import java.io.IOException;
public class FileUtil {
public static void main(String[] a)throws IOException{
showDir(1, new File("d:\\Java"));
}
static void showDir(int indent, File file) throws IOException {
for (int i = 0; i 7lt; indent; i++) System.out.print('-');
System.out.println(file.getName());
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++)showDir(indent + 4, files[i]);
}
}
}
结果 (Result)
上面的代码示例将产生以下结果。
-Java
-----codes
---------string.txt
---------array.txt
-----tutorial
以下是Java中目录层次结构的另一个示例
import java.io.File;
import java.io.IOException;
public class FileUtil {
public static void main(String[] a)throws IOException {
showDir(1, new File("C:\\Users\\xnip7\\Desktop"));
}
static void showDir(int indent, File file) throws IOException {
for (int i = 0; i < indent; i++)System.out.print('-');
System.out.println(file.getName());
if (file.isDirectory()) {
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++)showDir(indent + 4, files[i]);
}
}
}
上面的代码示例将产生以下结果。
-Desktop
-----abc.png
-----abc.txt
-----bbc.txt
-----Custom CSS.txt
-----desktop.ini