位置:首頁 > Java技術 > Java教學 > Java File類

Java File類

Java文件類表示一個抽象的方式將文件和目錄路徑名。這個類用於創建文件和目錄,文件搜索,刪除文件等。

File對象表示在磁盤上的實際文件/目錄。有下麵的構造函數來創建一個文件對象:

以下語法創建了一個從父抽象路徑名和child路徑名字符串的新File實例。

File(File parent, String child);

以下語法通過將給定路徑名字符串轉換為抽象路徑名來創建一個新File實例。

File(String pathname) 

下麵的語法從父路徑名字符串和child路徑名字符串創建一個新File實例

File(String parent, String child) 

URI轉換成抽象路徑名:下麵的語法由給定的文件轉換創建一個新的File實例。

File(URI uri) 

一旦有了File對象,再有就是使用helper方法可以用來操作文件的列表。

SN 方法描述
1 public String getName()
返回表示此抽象路徑名的文件或目錄的名稱。
2 public String getParent()
返回此抽象路徑名的父路徑名的字符串或者如果此路徑名冇有指定父目錄返回null。
3 public File getParentFile()
返回此抽象路徑名的父抽象路徑名,或如果此路徑名冇有指定父目錄則返回null。
4 public String getPath()
此抽象路徑名轉換為一個路徑名字符串。
5 public boolean isAbsolute()
測試此抽象路徑名是否是絕對的,那麼返回true。如果此抽象路徑名是絕對的,則返回false
6 public String getAbsolutePath()
返回此抽象路徑名的絕對路徑名字符串。
7 public boolean canRead()
測試應用程序是否可以讀取表示此抽象路徑名的文件。返回true當且僅當此抽象路徑名指定的文件存在,並且可以被應用程序讀取。否則為false。
8 public boolean canWrite()
測試應用程序是否可以修改,以表示此抽象路徑名的文件。則返回true當且僅當文件係統實際上包含表示此抽象路徑名的文件,並允許應用程序寫入到文件中。否則為false。
9 public boolean exists()
測試表示此抽象路徑名的文件或目錄是否存在。返回true當且僅當表示此抽象路徑名的文件或目錄存在,否則返回false
10 public boolean isDirectory()
測試表示此抽象路徑名的文件是否是一個目錄。當且僅當表示此抽象路徑名的文件存在且是一個目錄,則返回true。否則為false。
11 public boolean isFile()
測試表示此抽象路徑名的文件是否是一個正常的文件。文件是正常的,如果它不是一個目錄,此外,滿足其他係統相關的標準。通過一個Java應用程序創建的任何非目錄的文件是保證一個正常的文件。返回當且僅當表示此抽象路徑名的文件存在並且是一個正常的文件,則為true,否則返回false。
12 public long lastModified()
表示此抽象路徑名的文件的最後修改的時間。返回一個long值,表示時間的文件的最後修改,在自紀元(00:00:00 GMT,1970年1月),或0L毫秒為單位,如果該文件不存在或發生I/ O錯誤。
13 public long length()
返回表示此抽象路徑名的文件的長度。返回值是不確定的,如果此路徑名表示一個目錄。
14 public boolean createNewFile() throws IOException
原子創建此抽象路徑名命名的,當且僅當具有此名稱的文件尚不存在一個新的空文件。返回true如果指定的文件不存在,並已成功創建,如果指定的文件已經存在則返回false。
15 public boolean delete()
刪除表示此抽象路徑名的文件或目錄。如果此路徑名表示一個目錄,則該目錄必須是空的才能被刪除。返回true當且僅當該文件或目錄被成功刪除,否則返回false。
16 public void deleteOnExit()
這表示此抽象路徑名的文件或目錄在虛擬機終止時,被刪除的請求。
17 public String[] list()
返回字符串命名表示此抽象路徑名的目錄中的文件和目錄的數組。
18 public String[] list(FilenameFilter filter)
返回一個字符串命名的目錄表示此抽象路徑名滿足指定過濾器的文件和目錄的數組。
20 public File[] listFiles()
返回一個抽象路徑名表示在表示此抽象路徑名的目錄中的文件的數組。
21 public File[] listFiles(FileFilter filter)
返回一個抽象路徑名表示的目錄表示此抽象路徑名滿足指定過濾器的文件和目錄的數組。
22 public boolean mkdir()
創建此抽象路徑名的目錄。當且僅當在創建目錄,則返回true,否則返回false。
23 public boolean mkdirs()
創建此抽象路徑名,包括任何必需但不存在的父目錄的目錄。返回 true 當且僅當創建的目錄,以及所有必需的父目錄。否則為false;
24 public boolean renameTo(File dest)
重命名此抽象路徑名的文件。返回true當且僅當重命名成功,否則返回false。
25 public boolean setLastModified(long time)
設置此抽象路徑名的文件或目錄的最後修改時間。返回true當且僅當操作成功,否則為false。
26 public boolean setReadOnly()
標記此抽象路徑名命名的,因此隻有讀操作的文件或目錄是允許的。返回true當且僅當操作成功,否則為false。
27 public static File createTempFile(String prefix, String suffix, File directory) throws IOException
創建在指定目錄下一個新的空文件,使用給定前綴和後綴字符串生成其名稱。返回一個抽象路徑名表示一個新創建的空文件。
28 public static File createTempFile(String prefix, String suffix) throws IOException
創建在默認的臨時文件目錄的空文件,使用給定前綴和後綴生成其名稱。調用此方法等效於調用createTempFile(prefix, suffix, null)。返回抽象路徑名表示一個新創建的空文件。
29 public int compareTo(File pathname)
C字典順序比較兩個抽象路徑名。返回0如果參數等於這個抽象路徑名,返回負數如果此抽象路徑名的字典順序比參數,返回大於0如果此抽象路徑名的字典順序大於參數。
30 public int compareTo(Object o)
這個比較抽象路徑名到另一個對象。返回0如果參數等於這個抽象路徑名,返回負數如果此抽象路徑名的字典順序比參數,或返回大於0如果此抽象路徑名的字典順序大於參數。
31 public boolean equals(Object obj)
測試此抽象路徑名與給定對象是否相等。返回true當且僅當參數不為null,並且是一個抽象路徑名表示因為此抽象路徑名相同的文件或目錄。
32 public String toString()
返回此抽象路徑名的路徑名字符串。這僅僅是由getPath()方法返回的字符串。

例子:

下麵是例子來演示文件對象:

import java.io.File;

public class DirList {
   public static void main(String args[]) {
      String dirname = "/tmp";
      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