管理目錄與路徑

Java 的輸入/輸出與串流

Alex Liu

Software Developer Engineer

關鍵概念

  • 目錄 用來組織檔案與資料
  • 路徑 指定檔案與目錄的位置
  • File 類別可代表檔案或目錄
    • 實際建立的資源取決於所呼叫的方法(目錄用 mkdir(),檔案用 createNewFile()

螢幕上顯示多個目錄圖示的電腦

Java 的輸入/輸出與串流

建立目錄

  • 匯入 File 類別
    import java.io.File;
    
  • 建立代表目錄的 File 物件
    File newDirectory = new File("myDirectory");
    
  • 使用 .mkdir() 在檔案系統中實際建立目錄
    boolean created = newDirectory.mkdir();
    
  • 若成功建立則回傳 true
  • 若目錄已存在或無法建立則回傳 false
Java 的輸入/輸出與串流

列出目錄中的檔案

  • 使用 .listFiles() 列出目錄中的檔案

$$

// 建立代表目錄 `myDirectory` 的 `File` 物件
File dir = new File("myDirectory");
// 取得代表 `myDirectory` 內容的 `File` 物件陣列
File[] files = dir.listFiles();
  • 若目錄存在則回傳 File 物件的陣列
  • 若目錄不存在則回傳 null
Java 的輸入/輸出與串流

取得檔案的相對路徑

  • 相對路徑:以目前工作目錄為基準的位置
// 建立 `myDirectory` 裡 `sample.txt` 的 `File` 物件
File file = new File("myDirectory/sample.txt");
// 以字串取得檔案的相對路徑
String path = file.getPath();
System.out.println(path);
  • 假設 myDirectory 已存在;否則建立或寫入會失敗

  • 輸出:

    myDirectory/sample.txt
    
Java 的輸入/輸出與串流

使用絕對路徑

  • 絕對路徑:自檔案系統根目錄起的完整路徑

$$

// 建立 `myDirectory` 裡 `sample.txt` 的 `File` 物件
File file = new File("myDirectory/sample.txt");
// 以字串取得檔案的絕對路徑
String absPath = file.getAbsolutePath();
System.out.println(absPath);
  • 輸出:
/user/home/myDirectory/sample.txt
Java 的輸入/輸出與串流

一起來練習吧!

Java 的輸入/輸出與串流

Preparing Video For Download...