Java - 檔案類



簡介

Java File 類是檔案和目錄路徑名的抽象表示。以下是關於 File 的重要要點:

  • 例項可能表示也可能不表示實際的檔案系統物件,例如檔案或目錄。如果它確實表示這樣的物件,則該物件駐留在分割槽中。分割槽是作業系統特定的檔案系統儲存部分。

  • 檔案系統可能會對實際檔案系統物件上的某些操作(例如讀取、寫入和執行)實施限制。這些限制統稱為訪問許可權。

  • File 類的例項是不可變的;也就是說,一旦建立,File 物件表示的抽象路徑名將永遠不會改變。

類宣告

以下是Java.io.File類的宣告:

public class File
   extends Object
      implements Serializable, Comparable<File>

欄位

以下是Java.io.File類的欄位:

  • static String pathSeparator - 這是系統相關的路徑分隔符字元,為了方便起見,表示為字串。

  • static char pathSeparatorChar - 這是系統相關的路徑分隔符字元。

  • static String separator - 這是系統相關的預設名稱分隔符字元,為了方便起見,表示為字串。

  • static char separatorChar - 這是系統相關的預設名稱分隔符字元。

類建構函式

序號 建構函式和描述
1

File(File parent, String child)

此方法根據父抽象路徑名和子路徑名字串建立一個新的 File 例項。

2

File(String pathname)

此方法透過將給定的路徑名字串轉換為抽象路徑名來建立一個新的 File 例項。

3

File(String parent, String child)

此方法根據父路徑名字串和子路徑名字串建立一個新的 File 例項。

4

File(URI uri)

此方法透過將給定的檔案:URI 轉換為抽象路徑名來建立一個新的 File 例項。

類方法

序號 方法和描述
1 boolean canExecute()

此方法測試應用程式是否可以執行此抽象路徑名錶示的檔案。

2 boolean canRead()

此方法測試應用程式是否可以讀取此抽象路徑名錶示的檔案。

3 boolean canWrite()

此方法測試應用程式是否可以修改此抽象路徑名錶示的檔案。

4 int compareTo(File pathname)

此方法按字典順序比較兩個抽象路徑名。

5 boolean createNewFile()

此方法以原子方式建立此抽象路徑名指定的新空檔案,當且僅當尚不存在具有此名稱的檔案時。

6 static File createTempFile(String prefix, String suffix)

此方法在預設的臨時檔案目錄中建立空檔案,使用給定的字首和字尾生成其名稱。

7 static File createTempFile(String prefix, String suffix, File directory)

此方法在指定的目錄中建立一個新的空檔案,使用給定的字首和字尾字串生成其名稱。

8 boolean delete()

此方法刪除此抽象路徑名錶示的檔案或目錄。

9 void deleteOnExit()

此方法請求在虛擬機器終止時刪除此抽象路徑名錶示的檔案或目錄。

10 boolean equals(Object obj)

此方法測試此抽象路徑名與給定物件是否相等。

11 boolean exists()

此方法測試此抽象路徑名錶示的檔案或目錄是否存在。

12 File getAbsoluteFile()

此方法返回此抽象路徑名的絕對形式。

13 String getAbsolutePath()

此方法返回此抽象路徑名的絕對路徑名字串。

14 File getCanonicalFile()

此方法返回此抽象路徑名的規範形式。

15 String getCanonicalPath()

此方法返回此抽象路徑名的規範路徑名字串。

16 long getFreeSpace()

此方法返回此抽象路徑名命名的分割槽中未分配的位元組數。

17 String getName()

此方法返回此抽象路徑名錶示的檔案或目錄的名稱。

18 String getParent()

此方法返回此抽象路徑名的父路徑名字串,如果此路徑名未命名父目錄,則返回 null。

19 File getParentFile()

此方法返回此抽象路徑名的父抽象路徑名,如果此路徑名未命名父目錄,則返回 null。

20 String getPath()

此方法將此抽象路徑名轉換為路徑名字串。

21 long getTotalSpace()

此方法返回此抽象路徑名命名的分割槽的尺寸。

22 long getUsableSpace()

此方法返回此虛擬機器在此抽象路徑名命名的分割槽上可用的位元組數。

23 int hashCode()

此方法計算此抽象路徑名的雜湊碼。

24 boolean isAbsolute()

此方法測試此抽象路徑名是否為絕對路徑名。

25 boolean isDirectory()

此方法測試此抽象路徑名錶示的檔案是否為目錄。

26 boolean isFile()

此方法測試此抽象路徑名錶示的檔案是否為普通檔案。

27 boolean isHidden()

此方法測試此抽象路徑名命名的檔案是否為隱藏檔案。

28 long lastModified()

此方法返回此抽象路徑名錶示的檔案上次修改的時間。

29 long length()

此方法返回此抽象路徑名錶示的檔案的長度。

30 String[] list()

此方法返回一個字串陣列,其中包含此抽象路徑名錶示的目錄中的檔案和目錄的名稱。

31 String[] list(FilenameFilter filter)

此方法返回一個字串陣列,其中包含此抽象路徑名錶示的目錄中滿足指定過濾器的檔案和目錄的名稱。

32 File[] listFiles()

此方法返回一個抽象路徑名陣列,其中包含此抽象路徑名錶示的目錄中的檔案的名稱。

33 File[] listFiles(FileFilter filter)

此方法返回一個抽象路徑名陣列,其中包含此抽象路徑名錶示的目錄中滿足指定過濾器的檔案和目錄的名稱。

34 File[] listFiles(FilenameFilter filter)

此方法返回一個抽象路徑名陣列,其中包含此抽象路徑名錶示的目錄中滿足指定過濾器的檔案和目錄的名稱。

35 static File[] listRoots()

此方法列出可用的檔案系統根目錄。

36 boolean mkdir()

此方法建立此抽象路徑名命名的目錄。

37 boolean mkdirs()

此方法建立此抽象路徑名命名的目錄,包括任何必要的但不存在的父目錄。

38 boolean renameTo(File dest)

此方法重新命名此抽象路徑名錶示的檔案。

39 boolean setExecutable(boolean executable)

這是一個方便的方法,用於為此抽象路徑名設定所有者的執行許可權。

40 boolean setExecutable(boolean executable, boolean ownerOnly)

此方法為此抽象路徑名設定所有者或所有人的執行許可權。

41 boolean setLastModified(long time)

此方法設定此抽象路徑名命名的檔案或目錄的上次修改時間。

42 boolean setReadable(boolean readable)

這是一個方便的方法,用於為此抽象路徑名設定所有者的讀取許可權。

43 boolean setReadable(boolean readable, boolean ownerOnly)

此方法為此抽象路徑名設定所有者或所有人的讀取許可權。

44 boolean setReadOnly()

此方法標記此抽象路徑名命名的檔案或目錄,以便只允許讀取操作。

45 boolean setWritable(boolean writable)

這是一個方便的方法,用於為此抽象路徑名設定所有者的寫入許可權。

46 boolean setWritable(boolean writable, boolean ownerOnly)

此方法為此抽象路徑名設定所有者或所有人的寫入許可權。

47 String toString()

此方法返回此抽象路徑名的路徑名字串。

48 URI toURI()

此方法構造一個表示此抽象路徑名的檔案:URI。

繼承的方法

此類繼承自以下類的方法:

  • Java.io.Object

示例

以下是一個演示 File 物件的示例:我們建立了 File 引用和兩個字串的 String 陣列,表示檔名。然後我們建立了一個檔案物件,並使用 File.canExecute() 和 File.getAbsolutePath() 列印了相應的值。

package com.tutorialspoint;
import java.io.File;
public class FileDemo {   
   public static void main(String[] args) {
      File f = null;
      String[] strs = {"test1.txt", "test2.txt"};
      try {
         // for each string in string array 
         for(String s:strs ) {
            // create new file
            f = new File(s);
            
            // true if the file is executable
            boolean bool = f.canExecute();
            
            // find the absolute path
            String a = f.getAbsolutePath(); 
            
            // prints absolute path
            System.out.print(a);
            
            // prints
            System.out.println(" is executable: "+ bool);
         } 
      } catch (Exception e) {
         // if any I/O error occurs
         e.printStackTrace();
      }
   }
}

假設在當前目錄中有一個可執行檔案 test1.txt 和另一個不可執行檔案 test2.txt。讓我們編譯並執行以上程式,這將產生以下結果:

輸出

F:\Workspace\Tester\test1.txt is executable: true
F:\Workspace\Tester\test2.txt is executable: false
java_files_io.htm
廣告

© . All rights reserved.