import java.io.File;
/**
* 迭代指定目录下的所有文件,生成树状图.
*
* @author Han Qi
*
*/
public class FileTreeView {
/**
* 文件前显示' .'
*/
public static final String IS_FILE_SHOW_STR = " .";
/**
* 目录前显示' |'
*/
public static final String IS_DIRECT_SHOW_STR = " |";
/**
* 目录地址
*/
public static final String FILE_NAME = "E:\\WorkSpace\\QDZTRK TASK\\qdztrk-task\\qdztrk-task-biz\\src\\main\\java\\com\\trjt\\qdztrk\\task";
/**
* 程序入口
*
* @param args
*/
public static void main(String[] args) {
File file = new File(FILE_NAME);
// 判断文件是否为目录,且存在
if (file.isDirectory() && file.exists()) {
//arg2=0,表示当前文档位置深度为0;
IterationFile(file, 0);
} else {
System.err.println("文件不存在");
}
}
/**
* 迭代目录树方法
* @param file
* 文件
* @param lv
* 相对于FILE_NAME所在路径相差的深度
*/
public static void IterationFile(File file, int lv) {
// 读取项目根目录
// 开始迭代
File[] files = file.listFiles();
//每迭代一次,目录深度加1
lv++;
for (File f : files) {
if (f.isDirectory()) {
for (int i = 0; i < lv; i++) {
System.out.print(IS_DIRECT_SHOW_STR);
}
System.out.println(f.getName());
IterationFile(f, lv);
}
if (f.isFile()) {
for (int i = 0; i < lv; i++) {
System.out.print(IS_DIRECT_SHOW_STR);
}
System.out.println(IS_FILE_SHOW_STR + " " + f.getName());
}
}
}
}
/**
* 迭代指定目录下的所有文件,生成树状图.
*
* @author Han Qi
*
*/
public class FileTreeView {
/**
* 文件前显示' .'
*/
public static final String IS_FILE_SHOW_STR = " .";
/**
* 目录前显示' |'
*/
public static final String IS_DIRECT_SHOW_STR = " |";
/**
* 目录地址
*/
public static final String FILE_NAME = "E:\\WorkSpace\\QDZTRK TASK\\qdztrk-task\\qdztrk-task-biz\\src\\main\\java\\com\\trjt\\qdztrk\\task";
/**
* 程序入口
*
* @param args
*/
public static void main(String[] args) {
File file = new File(FILE_NAME);
// 判断文件是否为目录,且存在
if (file.isDirectory() && file.exists()) {
//arg2=0,表示当前文档位置深度为0;
IterationFile(file, 0);
} else {
System.err.println("文件不存在");
}
}
/**
* 迭代目录树方法
* @param file
* 文件
* @param lv
* 相对于FILE_NAME所在路径相差的深度
*/
public static void IterationFile(File file, int lv) {
// 读取项目根目录
// 开始迭代
File[] files = file.listFiles();
//每迭代一次,目录深度加1
lv++;
for (File f : files) {
if (f.isDirectory()) {
for (int i = 0; i < lv; i++) {
System.out.print(IS_DIRECT_SHOW_STR);
}
System.out.println(f.getName());
IterationFile(f, lv);
}
if (f.isFile()) {
for (int i = 0; i < lv; i++) {
System.out.print(IS_DIRECT_SHOW_STR);
}
System.out.println(IS_FILE_SHOW_STR + " " + f.getName());
}
}
}
}