在D盘下创建文件夹“电影”,在文件夹“电影”下创建“华语”、“好莱坞”,在文件夹“华语”下创建文件“人民的名义.mp4”、“天安门传奇.mp4”、“程序员统治世界.mp4”,在文件夹“好莱坞”下创建文件“国王的演讲.mp4”、“速度与激情8.mp4”。
使用递归算法,以树状结构展示目录树:
import java.io.File;
public class TestFile6 {
public static void main(String[] args){
File f = new File("d:/电影");
printFile(f,0);
}
/**
* 打印文件信息
* @param file 文件名称
* @param level 层次数(实际就是:第几次递归调用)
*/
static void printFile(File file,int level){
//输出层次数
for(int i=0;i<level;i++){
System.out.println("-");
}
//输出文件名
System.out.println(file.getName());
//如果 file 时目录,则获取子文件列表,并对每个子文件进行相同的操作
if(file.isDirectory()){
File[] files = file.listFiles();
for(File temp : files){
//递归调用该方法:注意要 + 1
printFile(temp,level + 1);
}
}
}
}
执行结果如图所示: