JAVA File類總結(jié)
缺少案例
1 概述
File是“文件”和“目錄路徑名”的抽象表示形式。
File直接繼承Object,實現(xiàn)Serializable接口和Comparable接口。實現(xiàn)Serializable意味著File對象可以進(jìn)行序列化,實現(xiàn)Compareable意味著File對象可以比較。File能直接被存儲在有序的集合(如TreeSet、TreeMap中);
2 File參數(shù)列表
// 靜態(tài)成員
public static final String pathSeparator // 路徑分割符":"
public static final char pathSeparatorChar // 路徑分割符':'
public static final String separator // 分隔符"/"
public static final char separatorChar // 分隔符'/'
// 構(gòu)造函數(shù)
File(File dir, String name)
File(String path)
File(String dirPath, String name)
File(URI uri)
// 成員函數(shù)
boolean canExecute() // 測試應(yīng)用程序是否可以執(zhí)行此抽象路徑名表示的文件。
boolean canRead() // 測試應(yīng)用程序是否可以讀取此抽象路徑名表示的文件。
boolean canWrite() // 測試應(yīng)用程序是否可以修改此抽象路徑名表示的文件。
int compareTo(File pathname) // 按字母順序比較兩個抽象路徑名。
boolean createNewFile() // 當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定名稱的文件時,不可分地創(chuàng)建一個新的空文件。
static File createTempFile(String prefix, String suffix) // 在默認(rèn)臨時文件目錄中創(chuàng)建一個空文件,使用給定前綴和后綴生成其名稱。
static File createTempFile(String prefix, String suffix, File directory) // 在指定目錄中創(chuàng)建一個新的空文件,使用給定的前綴和后綴字符串生成其名稱。
boolean delete() // 刪除此抽象路徑名表示的文件或目錄。
void deleteOnExit() // 在虛擬機(jī)終止時,請求刪除此抽象路徑名表示的文件或目錄。
boolean equals(Object obj) // 測試此抽象路徑名與給定對象是否相等。
boolean exists() // 測試此抽象路徑名表示的文件或目錄是否存在。
File getAbsoluteFile() // 返回此抽象路徑名的絕對路徑名形式。
String getAbsolutePath() // 返回此抽象路徑名的絕對路徑名字符串。
File getCanonicalFile() // 返回此抽象路徑名的規(guī)范形式。
String getCanonicalPath() // 返回此抽象路徑名的規(guī)范路徑名字符串。
long getFreeSpace() // 返回此抽象路徑名指定的分區(qū)中未分配的字節(jié)數(shù)。
String getName() // 返回由此抽象路徑名表示的文件或目錄的名稱。
String getParent() // 返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回 null。
File getParentFile() // 返回此抽象路徑名父目錄的抽象路徑名;如果此路徑名沒有指定父目錄,則返回 null。
String getPath() // 將此抽象路徑名轉(zhuǎn)換為一個路徑名字符串。
long getTotalSpace() // 返回此抽象路徑名指定的分區(qū)大小。
long getUsableSpace() // 返回此抽象路徑名指定的分區(qū)上可用于此虛擬機(jī)的字節(jié)數(shù)。
int hashCode() // 計算此抽象路徑名的哈希碼。
boolean isAbsolute() // 測試此抽象路徑名是否為絕對路徑名。
boolean isDirectory() // 測試此抽象路徑名表示的文件是否是一個目錄。
boolean isFile() // 測試此抽象路徑名表示的文件是否是一個標(biāo)準(zhǔn)文件。
boolean isHidden() // 測試此抽象路徑名指定的文件是否是一個隱藏文件。
long lastModified() // 返回此抽象路徑名表示的文件最后一次被修改的時間。
long length() // 返回由此抽象路徑名表示的文件的長度。
String[] list() // 返回一個字符串?dāng)?shù)組,這些字符串指定此抽象路徑名表示的目錄中的文件和目錄。
String[] list(FilenameFilter filter) // 返回一個字符串?dāng)?shù)組,這些字符串指定此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
File[] listFiles() // 返回一個抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
File[] listFiles(FileFilter filter) // 返回抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
File[] listFiles(FilenameFilter filter) // 返回抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
static File[] listRoots() // 列出可用的文件系統(tǒng)根。
boolean mkdir() // 創(chuàng)建此抽象路徑名指定的目錄。
boolean mkdirs() // 創(chuàng)建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。
boolean renameTo(File dest) // 重新命名此抽象路徑名表示的文件。
boolean setExecutable(boolean executable) // 設(shè)置此抽象路徑名所有者執(zhí)行權(quán)限的一個便捷方法。
boolean setExecutable(boolean executable, boolean ownerOnly) // 設(shè)置此抽象路徑名的所有者或所有用戶的執(zhí)行權(quán)限。
boolean setLastModified(long time) // 設(shè)置此抽象路徑名指定的文件或目錄的最后一次修改時間。
boolean setReadable(boolean readable) // 設(shè)置此抽象路徑名所有者讀權(quán)限的一個便捷方法。
boolean setReadable(boolean readable, boolean ownerOnly) // 設(shè)置此抽象路徑名的所有者或所有用戶的讀權(quán)限。
boolean setReadOnly() // 標(biāo)記此抽象路徑名指定的文件或目錄,從而只能對其進(jìn)行讀操作。
boolean setWritable(boolean writable) // 設(shè)置此抽象路徑名所有者寫權(quán)限的一個便捷方法。
boolean setWritable(boolean writable, boolean ownerOnly) // 設(shè)置此抽象路徑名的所有者或所有用戶的寫權(quán)限。
String toString() // 返回此抽象路徑名的路徑名字符串。
URI toURI() // 構(gòu)造一個表示此抽象路徑名的 file: URI。
URL toURL() // 已過時。 此方法不會自動轉(zhuǎn)義 URL 中的非法字符。建議新的代碼使用以下方式將抽象路徑名轉(zhuǎn)換為 URL:首先通過 toURI 方法將其轉(zhuǎn)換為 URI,然后通過 URI.toURL 方法將 URI 裝換為 URL。
3 新建目錄
3.1 根據(jù)相對路徑新建目錄
//在當(dāng)前目錄下新建dir文件夾
File dir = new File("dir");
dir.mkdir();
3.2 根據(jù)絕對路徑新建目錄
//遞歸創(chuàng)建目錄
File dir = new File("d:/1/2/dir");
dir.mkdirs();
3.3 使用URI創(chuàng)建目錄
URI uri = new URI("file:/d:/1/2/dir");
File dir = new File(uir);
dir.mkdirs();
4 新建子目錄的常用方法
4.1 方法一
//要求dir目錄必須存在
File sub = new File("dir","sub");
sub.mkdir();
4.2 方法二
//下面的dir是File對象
File sub = new File(dir, "sub");
sub.mkdir();
4.3 方法三
//遞歸創(chuàng)建子目錄,如果dir不存在那么創(chuàng)建dir目錄
File sub = new File("dir/sub");
sub.mkdirs();
4.4 方法四
File sub = new File(new URI("file:/d:/1/2/dir/sub"));
sub.mkdirs();
5 新建文件
5.1 方法一
try{
File dir = new File("dir");
File file = new File(dir, "file.txt");
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
}
5.2 方法二
try{
File file = new File("d:/1/2/dir/file.txt");
file.createNewFile();
}catch(IOException e){
e.printStackTrace();
}