package com.hadwinling.day08.iolearn;
import java.io.File;
/**
*练习:遍历指定目录下的所有文件(遍历多级目录)
*/
public class FileDemo02 {
private static int initNum = 0;
public static void main(String[] args) {
File file = new File("E:\\Learn\\JavaLearn\\filedemo");
initTab(file);
PrintFile(file);
}
//核心代码
public static void PrintFile(File file) {
if (file!=null &&file.exists()) {
//打印空格,有缩进
printTab(file);
System.out.println(file.getName());
//判断file是文件夹或者是目录
if (file.isDirectory()) {
//文件夹遍历子文件
File [] subFiles =file.listFiles();
for (File file2 : subFiles) {
//递归
PrintFile(file2);
}
}
}
}
//求初始目录的空格数
public static void initTab(File file){
//初始空格数
initNum = file.getAbsolutePath().split("\\\\").length;
}
//每一级目录有缩进
public static void printTab(File file) {
//打印子目录
int tabNum = file.getAbsolutePath().split("\\\\").length;
for (int i = 0; i < tabNum-initNum; i++) {
System.out.print("\t");
}
}
}
java-遍历指定目录下的所有文件(遍历多级目录)
最新推荐文章于 2024-07-26 02:55:29 发布