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

 

评分:0

我来说两句

Open Toolbar