Java File類
Java檔類以抽象的方式代表檔案名和目錄路徑名。該類主要用於檔和目錄的創建、檔的查找和文件的刪除等。
File對象代表磁片中實際存在的檔和目錄。通過以下構造方法創建一個File對象。
通過給定的父抽象路徑名和子路徑名字串創建一個新的File實例。
File(File parent, String child);
通過將給定路徑名字串轉換成抽象路徑名來創建一個新 File 實例。
File(String pathname)
根據 parent 路徑名字串和 child 路徑名字串創建一個新 File 實例。
File(String parent, String child)
通過將給定的 file: URI 轉換成一個抽象路徑名來創建一個新的 File 實例。
File(URI uri)
創建File對象成功後,可以使用以下列表中的方法操作檔。
| 序號 | 方法描述 | 
|---|---|
| 1 | 
				public String getName() 返回由此抽象路徑名表示的檔或目錄的名稱。  | 
		
| 2 | 
				public String getParent()、 返回此抽象路徑名的父路徑名的路徑名字串,如果此路徑名沒有指定父目錄,則返回 null。 | 
		
| 3 | 
				public File getParentFile() 返回此抽象路徑名的父路徑名的抽象路徑名,如果此路徑名沒有指定父目錄,則返回 null。 | 
		
| 4 | 
				public String getPath() 將此抽象路徑名轉換為一個路徑名字串。  | 
		
| 5 | 
				public boolean isAbsolute() 測試此抽象路徑名是否為絕對路徑名。  | 
		
| 6 | 
				public String getAbsolutePath() 返回抽象路徑名的絕對路徑名字串。  | 
		
| 7 | 
				public boolean canRead() 測試應用程式是否可以讀取此抽象路徑名表示的檔。  | 
		
| 8 | 
				public boolean canWrite() 測試應用程式是否可以修改此抽象路徑名表示的檔。  | 
		
| 9 | 
				public boolean exists() 測試此抽象路徑名表示的檔或目錄是否存在。  | 
		
| 10 | 
				public boolean isDirectory() 測試此抽象路徑名表示的檔是否是一個目錄。  | 
		
| 11 | 
				public boolean isFile() 測試此抽象路徑名表示的檔是否是一個標準檔。  | 
		
| 12 | 
				public long lastModified() 返回此抽象路徑名表示的檔最後一次被修改的時間。  | 
		
| 13 | 
				public long length() 返回由此抽象路徑名表示的檔的長度。  | 
		
| 14 | 
				public boolean createNewFile() throws IOException 當且僅當不存在具有此抽象路徑名指定的名稱的檔時,原子地創建由此抽象路徑名指定的一個新的空文件。  | 
		
| 15 | 
				public boolean delete() 刪除此抽象路徑名表示的檔或目錄。  | 
		
| 16 | 
				public void deleteOnExit() 在虛擬機終止時,請求刪除此抽象路徑名表示的檔或目錄。  | 
		
| 17 | 
				public String[] list() 返回由此抽象路徑名所表示的目錄中的檔和目錄的名稱所組成字串數組。  | 
		
| 18 | 
				public String[] list(FilenameFilter filter) 返回由包含在目錄中的檔和目錄的名稱所組成的字串數組,這一目錄是通過滿足指定篩檢程式的抽象路徑名來表示的。  | 
		
| 19 | 
				public File[] listFiles() 返回一個抽象路徑名數組,這些路徑名表示此抽象路徑名所表示目錄中的檔。  | 
		
| 20 | 
				public File[] listFiles(FileFilter filter) 返回表示此抽象路徑名所表示目錄中的檔和目錄的抽象路徑名數組,這些路徑名滿足特定篩檢程式。  | 
		
| 21 | 
				public boolean mkdir() 創建此抽象路徑名指定的目錄。  | 
		
| 22 | 
				public boolean mkdirs() 創建此抽象路徑名指定的目錄,包括創建必需但不存在的父目錄。  | 
		
| 23 | 
				public boolean renameTo(File dest) 重新命名此抽象路徑名表示的檔。  | 
		
| 24 | 
				public boolean setLastModified(long time) 設置由此抽象路徑名所指定的檔或目錄的最後一次修改時間。  | 
		
| 25 | 
				public boolean setReadOnly() 標記此抽象路徑名指定的檔或目錄,以便只可對其進行讀操作。  | 
		
| 26 | 
				public static File createTempFile(String prefix, String suffix, File directory) throws IOException 在指定目錄中創建一個新的空文件,使用給定的首碼和尾碼字串生成其名稱。  | 
		
| 27 | 
				public static File createTempFile(String prefix, String suffix) throws IOException 在默認臨時檔目錄中創建一個空文件,使用給定首碼和尾碼生成其名稱。  | 
		
| 28 | 
				public int compareTo(File pathname) 按字母順序比較兩個抽象路徑名。  | 
		
| 29 | 
				public int compareTo(Object o) 按字母順序比較抽象路徑名與給定對象。  | 
		
| 30 | 
				public boolean equals(Object obj) 測試此抽象路徑名與給定對象是否相等。  | 
		
| 31 | 
				public String toString() 返回此抽象路徑名的路徑名字串。  | 
		
實例
下麵的實例演示了File對象的使用:
實例
import java.io.File;
public class DirList {
    public static void main(String args[]) {
        String dirname = "/java";
        File f1 = new File(dirname);
        if (f1.isDirectory()) {
            System.out.println("Directory of " + dirname);
            String s[] = f1.list();
            for (int i = 0; i < s.length; i++) {
                File f = new File(dirname + "/" + s[i]);
                if (f.isDirectory()) {
                    System.out.println(s[i] + " is a directory");
                } else {
                    System.out.println(s[i] + " is a file");
                }
            }
        } else {
            System.out.println(dirname + " is not a directory");
        }
    }
}
以上實例編譯運行結果如下:
Directory of /java bin is a directory lib is a directory demo is a directory test.txt is a file README is a file index.html is a file include is a directory

 Java 流(Stream)