1. 程式人生 > >菜鳥先飛之JAVA_File類

菜鳥先飛之JAVA_File類

File類的概述 檔案和目錄路徑名的抽象表示形式,File應該是一個路徑, 檔案路徑或者資料夾路徑,路徑分為絕對路徑和相對路徑,絕對路徑是一個固定的路徑,從碟符開始;相對路徑相對於某個位置,在eclipse下是指當前專案下。
File類的構造方法 File(String pathname):根據一個路徑得到File物件 File(String parent, String child):根據一個目錄和一個子檔案/目錄得到File物件 File(File parent, String child):根據一個父File物件和一個子檔案/目錄得到File物件

File類的建立功能 public boolean createNewFile():建立檔案 如果存在這樣的檔案,就不建立了 public boolean mkdir():建立資料夾 如果存在這樣的資料夾,就不建立了 public boolean mkdirs():建立資料夾,如果父資料夾不存在,會幫你創建出來
File類的重新命名和刪除功能 重新命名和刪除功能 public boolean renameTo(File dest):把檔案重新命名為指定的檔案路徑
public boolean delete():刪除檔案或者資料夾 重新命名注意事項,如果路徑名相同,就是改名;如果路徑名不同,就是改名並剪下。 刪除注意事項,Java中的刪除不走回收站,要刪除一個資料夾,請注意該資料夾內不能包含檔案或者資料夾。
File類的判斷功能 public boolean isDirectory():判斷是否是目錄 public boolean isFile():判斷是否是檔案 public boolean exists():判斷是否存在 public boolean canRead():判斷是否可讀
public boolean canWrite():判斷是否可寫 public boolean isHidden():判斷是否隱藏
File類的獲取功能 public String getAbsolutePath():獲取絕對路徑 public String getPath():獲取路徑 public String getName():獲取名稱 public long length():獲取長度。位元組數 public long lastModified():獲取最後一次的修改時間,毫秒值 public String[] list():獲取指定目錄下的所有檔案或者資料夾的名稱陣列 public File[] listFiles():獲取指定目錄下的所有檔案或者資料夾的File陣列
File類的過濾器 public String[] list(FilenameFilter filter):檔名稱過濾器 public File[] listFiles(FileFilter filter):檔案過濾器
File類的遞迴
/*
	 * 層級列印
	 */
	public static void printLev(File dir, int lev) {
		// 把資料夾中的所有檔案以及資料夾的名字按層級列印
		File[] subFiles = dir.listFiles();
		// 遍歷陣列
		for (File subFile : subFiles) {
			// lev控制製表符的個數
			for (int i = 0; i <= lev; i++) {
				System.out.print("\t");
			}
			// 無論是檔案還是資料夾,都需要直接列印
			System.out.println(subFile);
			// 如果是資料夾,遞迴呼叫
			if (subFile.isDirectory()) {
				// 深度加一
				printLev(subFile, ++lev);
			}
		}
	}