俊星的BLOG

我的JAVA工具之目录结构输出

1、代码:
package test;

import java.io.File;

public class DMain {
    
static int level = 0;

    
/** 文件目录迭代输出 */
    
static void pathPrint1(String root) {
        File path 
= new File(root);
        
if (path.isDirectory()) {
            System.out.println(getMultiStr(
" ", level) + (path.isDirectory() ? "<dir>" : ""+ path.getName());
            level
++;
            File[] files 
= path.listFiles();
            
for (File f : files) {
                
if (f.isDirectory()) {
                    pathPrint1(f.getAbsolutePath());
                } 
else {
                    System.out.println(getMultiStr(
" ", level) + f.getName());
                }
            }
            level
--;
        }
    }

    
static String getMultiStr(String str, int num) {
        String s 
= "";
        
for (int i = 0; i < num; i++) {
            s 
+= str;
        }
        
return s;
    }

    
/** 以树形结构输出目录 */
    
static void printTree(String root, String init) {
        File path 
= new File(root);
        
if (path.isDirectory()) {
            File[] files 
= path.listFiles();
            
for (int i = 0, length = files.length; i < length; i++) {
                File f 
= files[i];
                System.out.println(init 
+ "|" + getMultiStr("-"4+ f.getName());
                
if (f.isDirectory()) {
                    printTree(f.getAbsolutePath(), init 
+ (i == length - 1 ? " " : "|"+ getMultiStr(" "4));
                }
            }
        }
    }

    
public static void main(String[] args) {
        String s 
= "D:\\My Documents\\discuz!\\Discuz_7[1].0.0_SC_GBK\\upload\\forumdata";
        pathPrint1(s);
        System.out.println(
"------------------------");
        System.out.println(
"ROOT");
        printTree(s,
"");

    }

}

2、得到的输出:
<dir>forumdata
 <dir>cache
  index.htm
 index.htm
 <dir>logs
  index.htm
 <dir>templates
  index.htm
 <dir>threadcaches
  index.htm
------------------------
ROOT
|----cache
|    |----index.htm
|----index.htm
|----logs
|    |----index.htm
|----templates
|    |----index.htm
|----threadcaches
     |----index.htm


posted on 2009-05-18 20:18 俊星 阅读(197) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: