JAVA 因简洁而美丽,因有效而动人
善待JAVA这颗种子的人,必将得到她的福荫
java 显示树形文件结构,类似windows的tree命令
上一篇 /
下一篇 2012-09-05 21:54:16
/ 个人分类:java
本来是个练习题,自己做了做,还行。但是看到别人的代码比我的更好。所以,这里就贴出了别人的代码。我的就只有让它沉睡吧……。是别人的,算是转载吧。转自:他的电脑。
主要思想,递归调用。
import java.io.File;
public class ShowTree {
static void displayDir(File dir, String prefix) {
System.out.print(prefix);
System.out.println(dir.getName());
prefix = prefix.replace("├", "│");
prefix = prefix.replace("└", " ");
if (dir.isFile()) {
return;
}
File files[] = dir.listFiles();
for (int i = 0; files != null && i < files.length; i++) {
if (i == files.length -1 ) {
displayDir(files[i], prefix + "└");
} else {
displayDir(files[i], prefix + "├");
}
}
}
static void addDir(String parent, String dir) {
File file = new File(parent, dir);
if (!file.exists() || !file.isDirectory()) {
file.mkdir();
}
}
static void delDir(String parent, String dir) {
File file = new File(parent, dir);
if (file.exists() && file.isDirectory()) {
file.delete();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String targetDirName = "c:\\";
String perateName = "";
String newDirName = null;
switch(args.length) {
case 1:
targetDirName = args[0];
case 0:
displayDir(new File(targetDirName), "");
break;
case 2:
if (args[0].equals("add")) {
addDir(targetDirName, args[1]);
} else if (args[0].equals("del")) {
delDir(targetDirName, args[1]);
}
displayDir(new File(targetDirName), "");
}
}
}
转自:http://www.blogjava.net/andyliao/archive/2009/11/03/300890.html
收藏
举报
TAG:
java
Tree
tree