Latest web development tutorials

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 /mysql
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