Java遍历输出指定目录、树形结构所有文件包括子目录下的文件
下面通过一段代码介绍下Java输出指定目录、树形结构下的所有文件包括子目录中的文件的方法,并附有效果图。
importjava.io.File;
publicclassReadDirectory{
//文件所在的层数
privateintfileLevel;
/**
*生成输出格式
*@paramname输出的文件名或目录名
*@paramlevel输出的文件名或者目录名所在的层次
*@return输出的字符串
*/
publicStringcreatePrintStr(Stringname,intlevel){
//输出的前缀
StringprintStr="";
//按层次进行缩进
for(inti=;i<level;i++){
printStr=printStr+"";
}
printStr=printStr+"-"+name;
returnprintStr;
}
/**
*输出初始给定的目录
*@paramdirPath给定的目录
*/
publicvoidprintDir(StringdirPath){
//将给定的目录进行分割
String[]dirNameList=dirPath.split("\\\\");
//设定文件level的base
fileLevel=dirNameList.length;
//按格式输出
for(inti=;i<dirNameList.length;i++){
System.out.println(createPrintStr(dirNameList[i],i));
}
}
/**
*输出给定目录下的文件,包括子目录中的文件
*@paramdirPath给定的目录
*/
publicvoidreadFile(StringdirPath){
//建立当前目录中文件的File对象
Filefile=newFile(dirPath);
//取得代表目录中所有文件的File对象数组
File[]list=file.listFiles();
//遍历file数组
for(inti=;i<list.length;i++){
if(list.isDirectory()){
System.out.println(createPrintStr(list.getName(),fileLevel));
fileLevel++;
//递归子目录
readFile(list.getPath());
fileLevel--;
}else{
System.out.println(createPrintStr(list.getName(),fileLevel));
}
}
}
publicstaticvoidmain(String[]args){
ReadDirectoryrd=newReadDirectory();
StringdirPath="D:\\有道词典";
rd.printDir(dirPath);
rd.readFile(dirPath);
}
}
输出结果如下:
以上就是本文的全部内容,希望大家喜欢。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下