顯示指定目錄的目錄結構

package question4;

import java.io.File;

/*
 * 編寫一個程序,當用戶輸入一個目錄時,
 * 該程序能列出該目錄下的所有子目錄和文件。
 */
public class ViewFolder
{
	public static void main(String[] args)
	{
		//輸出整個項目文件下的所有子文件夾和文件
		String path = System.getProperty("user.dir");
		System.out.println(path);
		View(path,table);
	}
	/**
	 * 用來格式化輸出的製表符
	 */
	public static final String table = "|--";
	
	/**
	 * 輸出目錄結構到控制檯
	 */
	public static void View(String srcPath, String table)
	{
		File srcFile = new File(srcPath);
		//如果給定的源路徑是文件夾
		if(srcFile.isDirectory())
		{
			//如果是文件夾的話,路徑需要增加一個斜槓,
			//用File.getpath可以避免輸入的路徑有斜槓
			//和沒有斜槓導致的一些問題
			srcPath = srcFile.getPath()+File.separator;
			
			System.out.println(table + srcFile.getName());
			
			//遍歷整個文件夾下的所有文件和子文件,
			//並通過遞歸調用自己實現目錄的輸出
			String[] fileList = srcFile.list();
			for (String fileName : fileList)
            {
				View(srcPath+fileName, table+ViewFolder.table);
			}
		}
		//如果給定的源路徑是文件
		else if(srcFile.isFile())
		{
			System.out.println(table + srcFile.getName());
		}
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章