java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
2013-02-21 00:00
489 查看
import java.io.File;
public class ReadDirectory {
// 文件所在的层数
private int fileLevel;
/**
* 生成输出格式
* @param name 输出的文件名或目录名
* @param level 输出的文件名或者目录名所在的层次
* @return 输出的字符串
*/
public String createPrintStr(String name, int level) {
// 输出的前缀
String printStr = "";
// 按层次进行缩进
for (int i = 0; i < level; i ++) {
printStr = printStr + " ";
}
printStr = printStr + "- " + name;
return printStr;
}
/**
* 输出初始给定的目录
* @param dirPath 给定的目录
*/
public void printDir(String dirPath){
// 将给定的目录进行分割
String[] dirNameList = dirPath.split("\\\\");
// 设定文件level的base
fileLevel = dirNameList.length;
// 按格式输出
for (int i = 0; i < dirNameList.length; i ++) {
System.out.println(createPrintStr(dirNameList[i], i));
}
}
/**
* 输出给定目录下的文件,包括子目录中的文件
* @param dirPath 给定的目录
*/
public void readFile(String dirPath) {
// 建立当前目录中文件的File对象
File file = new File(dirPath);
// 取得代表目录中所有文件的File对象数组
File[] list = file.listFiles();
// 遍历file数组
for (int i = 0; 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));
}
}
}
public static void main(String[] args) {
ReadDirectory rd = new ReadDirectory();
String dirPath = "D:\\有道词典";
rd.printDir(dirPath);
rd.readFile(dirPath);
}
}
public class ReadDirectory {
// 文件所在的层数
private int fileLevel;
/**
* 生成输出格式
* @param name 输出的文件名或目录名
* @param level 输出的文件名或者目录名所在的层次
* @return 输出的字符串
*/
public String createPrintStr(String name, int level) {
// 输出的前缀
String printStr = "";
// 按层次进行缩进
for (int i = 0; i < level; i ++) {
printStr = printStr + " ";
}
printStr = printStr + "- " + name;
return printStr;
}
/**
* 输出初始给定的目录
* @param dirPath 给定的目录
*/
public void printDir(String dirPath){
// 将给定的目录进行分割
String[] dirNameList = dirPath.split("\\\\");
// 设定文件level的base
fileLevel = dirNameList.length;
// 按格式输出
for (int i = 0; i < dirNameList.length; i ++) {
System.out.println(createPrintStr(dirNameList[i], i));
}
}
/**
* 输出给定目录下的文件,包括子目录中的文件
* @param dirPath 给定的目录
*/
public void readFile(String dirPath) {
// 建立当前目录中文件的File对象
File file = new File(dirPath);
// 取得代表目录中所有文件的File对象数组
File[] list = file.listFiles();
// 遍历file数组
for (int i = 0; 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));
}
}
}
public static void main(String[] args) {
ReadDirectory rd = new ReadDirectory();
String dirPath = "D:\\有道词典";
rd.printDir(dirPath);
rd.readFile(dirPath);
}
}
相关文章推荐
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- java遍历给定目录,树形结构输出所有文件,包括子目录中的文件
- Java遍历输出指定目录、树形结构所有文件包括子目录下的文件
- java遍历目录下的包括子目录下的所有文件
- java遍历目录下的包括子目录下的所有文件
- Java作业:给定任意一个目录 ,以树形方式展示出该目录中的所有子目录和文件。另外,在展现的时候将目录排在上面,文件排在下面。每一层要加上缩进
- python 遍历目录(包括子目录)下所有文件的实例
- java 输出给定路径下的所有文件(目录树)
- 通过java递归思想实现以树形方式展现出该目录中的所有子目录和文件
- java读取目录下(包括子目录)的所有文件
- java 文件 读取目录下的所有文件(包括子目录)
- unix下面目录的详细操作(包括实现给定目录遍历下面所有文件)
- java学习笔记 使用递归 将文件目录树形结构输出,递归删除目录 文件夹。
- java_递归遍历文件目录结构,打印所有的目录名和文件名
- java程序 一次改变指定目录下所有文件编码(包括子目录中的文件)
- 以树形结构的形式输出指定目录下面的所有文件
- 遍历一个指定的目录(包含子目录和文件),用Jdom把该目录的树形结构写入xml文件中
- java实现遍历文件目录,并在控制台以树形结构展示搜索出来的文件