1. 程式人生 > >Java——File類之列出樹形目錄

Java——File類之列出樹形目錄

巧妙地層數設計level

//列出某個檔案下所有目錄(樹形)
//spaceStr compact!
import java.io.*;

public class FileList {
	public static void main(String[] args) {
		File f = new File("f:/FunshionMedia");
		tree(f, 0);

	}

	private static void tree(File f, int level) { // 定義tree方法——level控制目錄層數

		//
		// level輸出空格,方便檢視樹形結構層數
		//
		String spaceStr = "";
		for (int i = 0; i < level; i++) {
			spaceStr += "       ";
		}
		//
		File[] childs = f.listFiles(); // key point!
		for (int i = 0; i < childs.length; i++) {
			System.out.println(spaceStr + childs[i].getName()); // 輸出空格
			if (childs[i].isDirectory()) { // 如果是目錄,遞迴呼叫自己
				tree(childs[i], level + 1); // level+1
			}
		}

	}

}