File 類是 Java 檔案操作最核心的類,以下整理實務常用方法並附完整範例程式碼。
| 方法 | 說明 | 回傳值範例 |
|---|---|---|
getParentFile() | 取得父目錄 File 物件 | E:\android_demo |
exists() | 檔案/目錄是否存在 | false |
getAbsolutePath() | 取得絕對路徑 | E:\android_demo\a |
getPath() | 取得路徑 | E:\android_demo\a |
getName() | 取得檔案/目錄名稱 | a |
mkdir() | 建立目錄(單層) | true/false |
createNewFile() | 建立檔案 | true/false |
length() | 檔案大小(位元組) | 0 |
toString() | 路徑字串 | E:\android_demo\a\test.mp3 |
renameTo(File dest) | 重新命名/移動 | true/false |
delete() | 刪除檔案/空目錄 | true/false |
File file = new File("E:/android_demo/a");
File fileTest = new File("E:/android_demo/a/test.mp3");
// 取得父路徑
File f = file.getParentFile();
System.out.println("f==" + f); // E:\android_demo
// 判斷是否存在
boolean isExist = file.exists();
System.out.println("is==" + isExist); // false
// 絕對路徑
String path1 = file.getAbsolutePath();
System.out.println("path==" + path1); // E:\android_demo\a
// 相對/建構路徑
String path2 = file.getPath();
System.out.println("path2==" + path2); // E:\android_demo\a
// 檔案名稱
String name = file.getName();
System.out.println("s===" + name); // a
// 建立目錄
file.mkdir();
// 建立檔案
fileTest.createNewFile();
// 檔案大小
long len = fileTest.length();
System.out.println("l==" + len);
// 路徑字串
String str = fileTest.toString();
System.out.println("str==" + str); // E:\android_demo\a\test.mp3
// 重新命名
File fileTest2 = new File("E:/android_demo/a/test2.mp3");
boolean renamed = fileTest.renameTo(fileTest2);
System.out.println("b2==" + renamed); // true
// 刪除檔案
boolean delFile = fileTest2.delete();
// 刪除目錄(必須為空目錄)
boolean delDir = file.delete();
mkdir() 僅建立單層目錄,多層請用 mkdirs()delete() 刪除目錄時目錄必須為空,非空需遞迴刪除內容後再刪除目錄renameTo() 可跨目錄移動檔案,目標若存在會失敗