import java.io.File;
public class test04_02 {
//設置level用來表示當前目錄相對於給定目錄的深度,用來打印Tab佔位符
private int level = 0;
public void printDir(File file){
printDir1(file, level);
}
public void printDir1(File file,int level){
for(int i=0;i<level;i++){
System.out.print('\t');
}
if(file.isDirectory()){
System.out.println(getPath(file));
String[] strL = file.list();//獲取目錄下所有文件列表
for(int i = 0; i<strL.length;i++){
//遞歸的調用自身,同時將level參數遞增用來打印Tab佔位符
printDir1(new File(file.getPath() + "\\" + strL[i]),level+1);
}
}else{//若是單獨文件,則直接打印
System.out.println(getPath(file));
}
//System.out.println(level);
}
//將文件名稱 以 “\\”符號分割,取其最後的一項,如D\\360--->360
public String getPath(File mFile){
String fullPath = mFile.getPath();
String[] str = fullPath.split("\\\\");
return str[str.length - 1];
}
public static void main(String[] args){
test04_02 demo = new test04_02();
File newfile = new File("D:\\test");
demo.printDir(newfile);
}
}
結果: