暑期自學 Day 01 | File 類 和 IO 流(一)

Borris發表於2020-05-06

File類

  • 和 File 類有關的三個單詞:File, Path, Directory

File 類構造方法

有以下三種:
- public File(String pathname) 直接使用路徑名構造
- public File(String parent, String child) 分成父子路徑,好處是使用靈活。
- public File(File parent, String child)父子抽象路徑名(File 型別),好處是使用靈活,父路徑可以使用 File 類方法對路徑進行操作。
- 注意路徑名不一定需要存在,只是把字串路徑封裝為File類物件。

File 類常用方法

  • 獲取功能的方法
    • public String getAbsolutePath(), public String getPath() 獲取絕對路徑或相對路徑字串
    • public String getName() 獲取該 File 類檔案或目錄名稱
    • public long length() 獲取檔案大小(資料夾沒有大小)
  • 判斷功能的方法
    • public boolean exists() 判斷檔案或者目錄是否實際存在
    • public boolean isDirectory()
    • public boolean isFile()
  • 建立刪除功能的方法
    • public boolean createNewFile() 檔案不存在時建立並返回true
      • 只能建立檔案
      • 資料夾路徑必須存在
      • 使用時需要處理 IOException:throws 或者 try-catch
    • public boolean mkdir() 建立單級資料夾
    • public boolean mkdirs() 建立單級資料夾或者多級資料夾
      • 無法建立檔案
      • 此方法不會丟擲異常,但如果路徑不存在,不會建立資料夾,返回值仍為true
        File f = new File("newDir\\new\\old");
        System.out.println(f.mkdirs()); // True
    • public boolean delete() 可以刪除檔案和資料夾
      • 如果資料夾裡有檔案,則不會刪除返回 false
      • 路徑不存在返回 false

目錄遍歷

  • public String[] list()
  • public File[] listFiles
    • 兩個方法返回值型別不同。一個是字串陣列,一個是File類陣列,陣列內是目錄中所有子檔案或子目錄。
    • 如果目錄路徑不存在,則丟擲空指標異常
    • 如果路徑不是目錄,丟擲空指標異常
  • File.pathSeparator 列印的是分號(;);File.separator 列印的是斜槓(\或/)。由於Windows 中和 Linux 中斜槓不一樣,所以拼接路徑推薦用 File.separator
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章