1: 遍历一个多层文件夹。 把里面的所有文件夹和文件的名称都打印出来, 要求打印结果必须体现出 文件夹的层级。 (一个tab键 在java中用一个 "\t" 表示)
package com.HomeWork.day11;
import java.io.File;
import java.util.HashMap;
public class test10 {
public static void main(String[] args) {
// 最后一题
File f = new File("F:\\software");
// 打印起始目录
System.out.println(f.getName());
// 调用方法
fileOutOrder(f," ");
}
public static void fileOutOrder(File f,String str){
// 制表符,控制文件名的层级
str +="\t";
// 如果文件不存在,则方法结束
if(!f.exists()){
return;
}
// 首先 看看 都有哪些文件
File[] files = f.listFiles();
//遍历
for (File file : files) {
// 如果是文件
if(file.isFile()){
String name = file.getName();
System.out.println(str + file.getName());
}
}
// 再循环打印出 文件夹的额名称
for(File file :files){
// 如果是文件夹
if(file.isDirectory()){
System.out.println(str +file.getName());
// 递归调用方法
fileOutOrder(file, str);
}
}
}
}