這個類的實(shí)例表示主機(jī)文件系統(tǒng)中的文件名或路徑名。一個文件能通過一個路徑名指定,此路徑名可以是一條絕對路徑名,也可以是一條相對于當(dāng)前工作目錄的相對路徑名。路徑名必須遵循主機(jī)平臺的命名約定。
File
類提供了一種抽象方式,以便以與機(jī)器無關(guān)的方式處理機(jī)器相關(guān)情況下有關(guān)文件和路徑名的大多數(shù)復(fù)雜問題。
注意不管何時使用一個文件名或路徑,均假定使用主機(jī)的文件命名規(guī)范。
類 java.io.File
java.lang.Object
|
+----java.io.File
- public class File
- extends Object
- implements Serializable
變量索引
- pathSeparator
- 與系統(tǒng)相關(guān)的路徑分隔符字符串。
- pathSeparatorChar
- 與系統(tǒng)相關(guān)的路徑分隔符字符。
- separator
- 與系統(tǒng)相關(guān)的路徑分隔符字符。
- separatorChar
- 與系統(tǒng)相關(guān)的路徑分隔符字符串。
構(gòu)造子索引
- File(File, String)
- 創(chuàng)建一個
File
實(shí)例,表示指定路徑指定名稱的文件。
- File(String)
- 創(chuàng)建一個
File
實(shí)例,表示路徑名是指定路徑參數(shù)的文件。
- File(String, String)
- 創(chuàng)建一個
File
實(shí)例,它的路徑名是指定的路徑名后跟分隔符字符和 name
參數(shù)。
方法索引
- canRead()
- 測試應(yīng)用程序是否能從指定的文件中進(jìn)行讀取。
- canWrite()
- 測試應(yīng)用程序是否能寫當(dāng)前文件。
- delete()
- 刪除當(dāng)前對象指定的文件。
- equals(Object)
- 比較該對象和指定對象。
- exists()
- 測試當(dāng)前
File
是否存在。
- getAbsolutePath()
- 返回由該對象表示的文件的絕對路徑名。
- getCanonicalPath()
- 返回當(dāng)前
File
對象的路徑名的規(guī)范格式。
- getName()
- 返回表示當(dāng)前對象的文件名。
- getParent()
- 返回當(dāng)前
File
對象路徑名的父路徑名,如果此名沒有父路徑則為 null
。
- getPath()
- 返回表示當(dāng)前對象的路徑名。
- hashCode()
- 計(jì)算此文件的一個哈希碼。
- isAbsolute()
- 測試當(dāng)前
File
對象表示的文件是否是一個絕對路徑名。
- isDirectory()
- 測試當(dāng)前
File
對象表示的文件是否是一個路徑。
- isFile()
- 測試當(dāng)前
File
對象表示的文件是否是一個“普通”文件。
- lastModified()
- 返回當(dāng)前
File
對象表示的文件最后修改的時間。
- length()
- 返回當(dāng)前
File
對象表示的文件長度。
- list()
- 返回當(dāng)前
File
對象指定的路徑文件列表。
- list(FilenameFilter)
- 返回當(dāng)前
File
對象指定的目錄中滿足指定過濾器的文件列表。
- mkdir()
- 創(chuàng)建一個目錄,它的路徑名由當(dāng)前
File
對象指定。
- mkdirs()
- 創(chuàng)建一個目錄,它的路徑名由當(dāng)前
File
對象指定,包括任一必須的父路徑。
- renameTo(File)
- 將當(dāng)前
File
對象指定的文件更名為給定參數(shù)
File
指定的路徑名。
- toString()
- 返回當(dāng)前對象的字符串表示。
變量
separator
public static final String separator
- 與系統(tǒng)相關(guān)的路徑分隔符字符。 這個域被初始化為系統(tǒng)屬性
file.separator
的值。
- 參見:
- getProperty
separatorChar
public static final char separatorChar
- 與系統(tǒng)相關(guān)的路徑分隔符字符串。 這個域被初始化為系統(tǒng)屬性
file.separator
的第一個字符。 這個字符分隔文件名中的路徑和文件組件。
- 參見:
- getProperty
pathSeparator
public static final String pathSeparator
- 與系統(tǒng)相關(guān)的路徑分隔符字符串。 這個域被初始化為系統(tǒng)屬性
file.separator
的值。
- 參見:
- getProperty
pathSeparatorChar
public static final char pathSeparatorChar
- 與系統(tǒng)相關(guān)的路徑分隔符字符。 這個域被初始化為系統(tǒng)屬性
file.separator
的第一個字符。 這個字符常被用于分隔“路徑列表”中給出的一系列文件的文件名。
- 參見:
- getProperty
構(gòu)造子
File
public File(String path)
- 創(chuàng)建一個
File
實(shí)例,表示路徑名是指定路徑參數(shù)的文件。
- 參數(shù):
- path - 文件路徑名。
- 拋出:
NullPointerException
- 如果該文件路徑等于
null
。
- 參見:
- getPath
File
public File(String path,
String name)
- 創(chuàng)建一個
File
實(shí)例,它的路徑名是指定的路徑名后跟分隔符字符和 name
參數(shù)。
- 參數(shù):
- path - 目錄的路徑名。
- name - 文件路徑名。
- 參見:
- getPath, separator
File
public File(File dir,
String name)
- 創(chuàng)建一個
File
實(shí)例,表示指定路徑指定名稱的文件。
如果路徑參數(shù)為 null
, 則結(jié)果
File
實(shí)例表示在當(dāng)前路徑(與系統(tǒng)有關(guān))下的一個文件,它的路徑名是 name
參數(shù)。否則, File
實(shí)例表示一個文件,它的路徑名是路徑參數(shù)(dir)給定的路徑名,后跟分隔符和
name
參數(shù)。
- 參數(shù):
- dir - 路徑。
- name - 文件路徑名。
- 參見:
- getPath, separator
方法
getName
public String getName()
- 返回表示當(dāng)前對象的文件名。 這個文件名是路徑名中位于最后出現(xiàn)的分隔符以后的所有內(nèi)容。
- 返回值:
- 當(dāng)前
File
對象表示的文件名(不帶路徑)。
- 參見:
- getPath, separator
getPath
public String getPath()
- 返回表示當(dāng)前對象的路徑名。
- 返回值:
- 當(dāng)前
File
對象表示的路徑名。
getAbsolutePath
public String getAbsolutePath()
- 返回由該對象表示的文件的絕對路徑名。
如果這個對象表示一個絕對路徑名,則返回此路徑名。否則,返回一個路徑名,它由當(dāng)前用戶路徑,分隔字符和當(dāng)前文件對象的路徑名連接而成。
系統(tǒng)屬性 user.dir
包含當(dāng)前用戶路徑。
- 返回值:
- 當(dāng)前
File
與系統(tǒng)相關(guān)的絕對路徑名。
- 參見:
- getPath, isAbsolute, getProperty
getCanonicalPath
public String getCanonicalPath() throws IOException
- 返回當(dāng)前
File
對象的路徑名的規(guī)范格式。
規(guī)范格式的準(zhǔn)確定義是與系統(tǒng)有關(guān)的,但是它常指一個絕對路徑名,它完全決定了當(dāng)前用戶目錄的所有相關(guān)引用。不可能定義不存在路徑名的規(guī)范格式。
- 拋出:
OException
- 如果出現(xiàn)一個 I/O 錯誤。這是可能的,因?yàn)閯?chuàng)建規(guī)范路徑時可能需要查詢文件系統(tǒng)。
getParent
public String getParent()
- 返回當(dāng)前
File
對象路徑名的父路徑名,如果此路徑名沒有父路徑則為 null
。 盡管父路徑的確切定義與系統(tǒng)有關(guān),但父路徑通常指路徑名中位于最后出現(xiàn)的分隔符之前的所有部分。例如,在 UNIX 系統(tǒng)中, "/usr/lib"
的父路徑是
"/usr"
, "/usr"
的父路徑是 "/"
,
"/"
沒有父路徑。在 Windows 平臺中,"c:\java"
的父路徑是 "c:\"
, "c:\"
不再有父路徑。
- 參見:
- getPath, getCanonicalPath, separator
exists
public boolean exists()
- 測試當(dāng)前
File
是否存在。
- 返回值:
- 如果當(dāng)前對象指定的文件存在則為
true
;否則為 false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, checkRead
canWrite
public boolean canWrite()
- 測試應(yīng)用程序是否能寫入當(dāng)前文件。
- 返回值:
- 如果此應(yīng)用程序可以寫訪問當(dāng)前對象指定的文件名對應(yīng)的文件則為
true
;否則為 false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序?qū)懺L問該文件。
- 參見:
- getPath, checkWrite
canRead
public boolean canRead()
- 測試應(yīng)用程序是否能從指定的文件中進(jìn)行讀取。
- 返回值:
- 如果當(dāng)前對象指定的文件存在且此應(yīng)用程序能讀該文件則為
true
;否則為 false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, checkRead
isFile
public boolean isFile()
- 測試當(dāng)前
File
對象表示的文件是否是一個“普通”文件。
如果一個文件不是一個路徑且滿足其它系統(tǒng)的標(biāo)準(zhǔn),則它是一個“普通”文件。由 Java 的一個應(yīng)用程序創(chuàng)建的任何非路徑文件肯定是一個“普通”文件。
- 返回值:
- 如果當(dāng)前對象指定的文件存在且是一個“普通”文件則為
true
;否則為 false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, checkRead
isDirectory
public boolean isDirectory()
- 測試當(dāng)前
File
對象表示的文件是否是一條路徑。
- 返回值:
- 如果當(dāng)前
File
存在且是一條路徑則為true
;否則為 false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, checkRead
isAbsolute
public native boolean isAbsolute()
- 測試當(dāng)前
File
對象表示的文件是否是一個絕對路徑名。 一條絕對路徑名的定義是與系統(tǒng)有關(guān)的。例如,在 UNIX 中,如果一個路徑名的首字符是分隔符則它是一條絕對路徑。在 Windows 平臺上,如果一個路徑名的首字符是
ASCII '\' 或 '/', 或以后跟一個冒號的字母開始,則它是一條絕對路徑。
- 返回值:
- 如果當(dāng)前
File
對象表示的路徑名是一個絕對路徑名則為 true
;否則為 false
。
- 參見:
- getPath, separator
lastModified
public long lastModified()
- 返回當(dāng)前
File
對象表示的文件最后修改的時間。
返回值是與系統(tǒng)有關(guān)的,且僅應(yīng)用于與最后修改返回的其它值作比較。它不應(yīng)該解釋為一個絕對時間。
- 返回值:
- 當(dāng)前對象指定的文件的最后修改時間;如果指定文件不存在則為
0L
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, checkRead
length
public long length()
- 返回當(dāng)前
File
對象表示的文件的長度。
- 返回值:
- 當(dāng)前對象指定的文件的字節(jié)長度;如果指定文件不存在則為
0L
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, checkRead
mkdir
public boolean mkdir()
- 創(chuàng)建一個目錄,它的路徑名由當(dāng)前
File
對象指定。
- 返回值:
- 如果該目錄能被創(chuàng)建則為
true
;否則為 false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序?qū)懺L問該文件。
- 參見:
- getPath, checkWrite
renameTo
public boolean renameTo(File dest)
- 將這個
File
對象指定的文件更名為給定參數(shù)
File
指定的路徑名。
- 參數(shù):
- dest - 新文件名。
- 返回值:
- 如果更名操作成功則為
true
;否則為
false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前文件對象的路徑名和目標(biāo)對象的路徑名調(diào)用
checkWrite
方法,查看是否允許此應(yīng)用程序?qū)戇@兩個文件。
- 參見:
- getPath, checkWrite
mkdirs
public boolean mkdirs()
- 創(chuàng)建一個目錄,它的路徑名由當(dāng)前
File
對象指定,包括任一必須的父路徑。
- 返回值:
- 如果該目錄(或多級目錄)能被創(chuàng)建則為
true
;否則為
false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則在任一路徑被創(chuàng)建之前,用將被創(chuàng)建的路徑中的每個路徑名調(diào)用它的
checkWrite
方法。
- 參見:
- getPath, checkWrite
list
public String[] list()
- 返回當(dāng)前
File
對象指定的路徑文件列表。
- 返回值:
- 指定路徑中的文件名數(shù)組。這個列表不包括當(dāng)前路徑或父路徑("
.
" 和 "..
"
在 Unix 系統(tǒng)中)。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, checkRead
list
public String[] list(FilenameFilter filter)
- 返回當(dāng)前
File
對象指定的目錄中滿足指定過濾器的文件列表。
- 參數(shù):
- filter - 一個文件名過濾器。
- 返回值:
- 指定路徑中的文件名數(shù)組。這個列表不包括當(dāng)前路徑或父路徑("
.
" 和 "..
"
在 Unix 系統(tǒng)中)。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序讀該文件。
- 參見:
- getPath, FilenameFilter, checkRead
delete
public boolean delete()
- 刪除當(dāng)前對象指定的文件。 如果將刪除的文件是一個目錄,則它必須為空才能被成功刪除。
- 返回值:
- 如果此文件被成功刪除了則為
true
;否則為
false
。
- 拋出:
SecurityException
- 如果有一個安全管理器,則用當(dāng)前
File
的路徑名調(diào)用
checkRead
方法,查看是否允許此應(yīng)用程序刪除該文件。
- 參見:
- getPath, checkDelete
hashCode
public int hashCode()
- 計(jì)算此文件的一個哈希碼。
- 返回值:
- 當(dāng)前
File
對象的哈希碼。
- 覆蓋:
- 類
Object 中的 hashCode
equals
public boolean equals(Object obj)
- 比較該對象和指定對象。
當(dāng)且僅當(dāng)參數(shù)不為 null
且是具有與該對象的路徑名相同的路徑名的一個 File
對象,則結(jié)果為 true
。
- 參數(shù):
- obj - 比較的對象。
- 返回值:
- 如果是相同對象則為
true
,否則為 false
。
- 覆蓋:
- 類 Object
中的
equals
toString
public String toString()
- 返回當(dāng)前對象的字符串表示。
- 返回值:
- 當(dāng)前對象的路徑名串。
- 覆蓋:
- 類 Object 中的
toString
- 參見:
- getPath