File Tree

看到windows文件资源管理器,突然想用Java来实现这种不同层的文件缩进,参考OSC中一个博主的思想,记录一下;Code如下:

/**
* @author effine
* @date 2013年10月26日  下午1:25:14
*/

import java.io.File;

public class FileTree {
public static int count = 0;

public static void parse(File[] files) {
    if (files.length == 0) {
        FileTree.count--;
        System.out.println();
        return;
    } else {
        for (File f : files) {
            if (f.isDirectory()) {
                FileTree.count++;
                for (int i = 1; i <= FileTree.count; i++) {
                    System.out.print("\t");
                }
                
                System.out.println(f.getName());
                File[] files2 = f.listFiles();
                
                FileTree.parse(files2);
            }
            
        }
        for (File f : files) {
            if (!f.isDirectory()) {
                for (int i = 0; i <= FileTree.count; i++) {
                    System.out.print("\t");
                }
                System.out.println(f.getName());
            }
        }
        FileTree.count--;
    }
    
}

public static void main(String[] args) {
        File file = new File("d:/test");
        File[] files = file.listFiles();
        FileTree.parse(files);
    }
}