日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS File

File

java.lang.Object

|---java.io.File

public class File
extends Object
implements Serializable, Comparable

文件和目錄路徑名的抽象表示。

用戶界面和操作系統(tǒng)使用系統(tǒng)相關(guān)的路徑名字符串來命名文件和目錄。 此類呈現(xiàn)分層路徑名的抽象的、與系統(tǒng)無關(guān)的視圖。 抽象路徑名有兩個(gè)組成部分:

  1. 一個(gè)可選的與系統(tǒng)相關(guān)的前綴字符串,例如磁盤驅(qū)動(dòng)器說明符、UNIX 根目錄的“/”或 Microsoft Windows UNC 路徑名的“”,以及
  2. 零個(gè)或多個(gè)字符串名稱的序列。

抽象路徑名中的第一個(gè)名稱可以是目錄名,或者在 Microsoft Windows UNC 路徑名的情況下,可以是主機(jī)名。 抽象路徑名中的每個(gè)后續(xù)名稱都表示一個(gè)目錄; 姓氏可以表示目錄或文件。 空抽象路徑名沒有前綴和空名稱序列。

路徑名字符串與抽象路徑名之間的轉(zhuǎn)換本質(zhì)上是系統(tǒng)相關(guān)的。 將抽象路徑名轉(zhuǎn)換為路徑名字符串時(shí),每個(gè)名稱與下一個(gè)名稱由默認(rèn)分隔符的單個(gè)副本分隔。 默認(rèn)名稱分隔符由系統(tǒng)屬性 file.separator 定義,并且在此類的公共靜態(tài)字段 separator 和 separatorChar 中可用。 當(dāng)路徑名字符串轉(zhuǎn)換為抽象路徑名時(shí),其中的名稱可以由默認(rèn)名稱分隔符或底層系統(tǒng)支持的任何其他名稱分隔符分隔。

路徑名,無論是抽象的還是字符串形式的,都可以是絕對(duì)的或相對(duì)的。 絕對(duì)路徑名是完整的,因?yàn)椴恍枰渌畔矶ㄎ凰硎镜奈募?相反,相對(duì)路徑名必須根據(jù)從其他路徑名獲取的信息來解釋。 默認(rèn)情況下,java.io 包中的類總是根據(jù)當(dāng)前用戶目錄解析相對(duì)路徑名。 此目錄由系統(tǒng)屬性 user.dir 命名,通常是調(diào)用 Java 虛擬機(jī)的目錄。

抽象路徑名的父級(jí)可以通過調(diào)用此類的 getParent() 方法獲得,它由路徑名的前綴和路徑名名稱序列中除最后一個(gè)以外的每個(gè)名稱組成。 每個(gè)目錄的絕對(duì)路徑名是任何具有絕對(duì)抽象路徑名的 File 對(duì)象的祖先,該絕對(duì)抽象路徑名以目錄的絕對(duì)路徑名開頭。 例如,抽象路徑名“/usr”表示的目錄是路徑名“/usr/local/bin”表示的目錄的祖先。

前綴概念用于處理 UNIX 平臺(tái)上的根目錄,以及 Microsoft Windows 平臺(tái)上的驅(qū)動(dòng)器說明符、根目錄和 UNC 路徑名,如下所示:

  • 對(duì)于 UNIX 平臺(tái),絕對(duì)路徑名的前綴始終是“/”。 相對(duì)路徑名沒有前綴。 表示根目錄的抽象路徑名具有前綴“/”和一個(gè)空的名稱序列。
  • 對(duì)于 Microsoft Windows 平臺(tái),包含驅(qū)動(dòng)器說明符的路徑名前綴由驅(qū)動(dòng)器號(hào)組成,后跟“:”,如果路徑名是絕對(duì)路徑,則可能后跟“”。 UNC 路徑名的前綴是“”; 主機(jī)名和共享名是名稱序列中的前兩個(gè)名稱。 未指定驅(qū)動(dòng)器的相對(duì)路徑名沒有前綴。

此類的實(shí)例可能表示也可能不表示實(shí)際的文件系統(tǒng)對(duì)象,例如文件或目錄。 如果它確實(shí)表示這樣的對(duì)象,則該對(duì)象駐留在分區(qū)中。 分區(qū)是文件系統(tǒng)的特定于操作系統(tǒng)的存儲(chǔ)部分。 單個(gè)存儲(chǔ)設(shè)備(例如物理磁盤驅(qū)動(dòng)器、閃存、CD-ROM)可能包含多個(gè)分區(qū)。 該對(duì)象(如果有)將駐留在此路徑名的絕對(duì)形式的某個(gè)祖先命名的分區(qū)上。

文件系統(tǒng)可以對(duì)實(shí)際文件系統(tǒng)對(duì)象的某些操作實(shí)施限制,例如讀取、寫入和執(zhí)行。這些限制統(tǒng)稱為訪問權(quán)限。文件系統(tǒng)可能對(duì)單個(gè)對(duì)象具有多組訪問權(quán)限。例如,一組可能適用于對(duì)象的所有者,而另一組可能適用于所有其他用戶。對(duì)象的訪問權(quán)限可能會(huì)導(dǎo)致此類中的某些方法失敗。

File 類的實(shí)例是不可變的;也就是說,一旦創(chuàng)建,由 File 對(duì)象表示的抽象路徑名永遠(yuǎn)不會(huì)改變。

與 java.nio.file 包的互操作性

java.nio.file 包定義了 Java 虛擬機(jī)訪問文件、文件屬性和文件系統(tǒng)的接口和類。此 API 可用于克服 java.io.File 類的許多限制。 toPath 方法可用于獲取使用 File 對(duì)象表示的抽象路徑來定位文件的 Path。生成的 Path 可以與 Files 類一起使用,以提供對(duì)其他文件操作、文件屬性和 I/O 異常的更有效和更廣泛的訪問,以幫助在對(duì)文件的操作失敗時(shí)診斷錯(cuò)誤。

Since:

JDK1.0

字段摘要

修飾符和類型字段描述
static StringpathSeparator系統(tǒng)相關(guān)的路徑分隔符,為方便起見表示為字符串。
static charpathSeparatorChar系統(tǒng)相關(guān)的路徑分隔符字符。
static Stringseparator系統(tǒng)相關(guān)的默認(rèn)名稱分隔符,為方便起見表示為字符串。
static charseparatorChar系統(tǒng)相關(guān)的默認(rèn)名稱分隔符。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù)描述
File(File parent, String child)從父抽象路徑名和子路徑名字符串創(chuàng)建一個(gè)新的 File 實(shí)例。
File(String pathname)通過將給定的路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新的 File 實(shí)例。
File(String parent, String child)從父路徑名字符串和子路徑名字符串創(chuàng)建一個(gè)新的 File 實(shí)例。
File(URI uri)通過將給定的 file: URI 轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新的 File 實(shí)例。

方法總結(jié)

修飾符和類型方法描述
booleancanExecute()測(cè)試應(yīng)用程序是否可以執(zhí)行此抽象路徑名表示的文件。
booleancanRead()測(cè)試應(yīng)用程序是否可以讀取此抽象路徑名表示的文件。
booleancanWrite()測(cè)試應(yīng)用程序是否可以修改此抽象路徑名表示的文件。
intcompareTo(File pathname)按字典順序比較兩個(gè)抽象路徑名。
booleancreateNewFile()當(dāng)且僅當(dāng)具有此名稱的文件尚不存在時(shí),以原子方式創(chuàng)建以此抽象路徑名命名的新的空文件。
static FilecreateTempFile(String prefix, String suffix)在默認(rèn)臨時(shí)文件目錄中創(chuàng)建一個(gè)空文件,使用給定的前綴和后綴生成其名稱。
static FilecreateTempFile(String prefix, String suffix, File directory)在指定目錄中創(chuàng)建一個(gè)新的空文件,使用給定的前綴和后綴字符串生成其名稱。
booleandelete()刪除此抽象路徑名表示的文件或目錄。
voiddeleteOnExit()請(qǐng)求在虛擬機(jī)終止時(shí)刪除此抽象路徑名表示的文件或目錄。
booleanequals(Object obj)測(cè)試此抽象路徑名是否與給定對(duì)象相等。
booleanexists()測(cè)試此抽象路徑名表示的文件或目錄是否存在。
FilegetAbsoluteFile()返回此抽象路徑名的絕對(duì)形式。
StringgetAbsolutePath()返回此抽象路徑名的絕對(duì)路徑名字符串。
FilegetCanonicalFile()返回此抽象路徑名的規(guī)范形式。
StringgetCanonicalPath()返回此抽象路徑名的規(guī)范路徑名字符串。
longgetFreeSpace()返回由此抽象路徑名命名的分區(qū)中未分配的字節(jié)數(shù)。
StringgetName()返回此抽象路徑名表示的文件或目錄的名稱。
StringgetParent()返回此抽象路徑名的父目錄的路徑名字符串,如果此路徑名未命名父目錄,則返回 null。
FilegetParentFile()返回此抽象路徑名的父級(jí)的抽象路徑名,如果此路徑名未命名父目錄,則返回 null。
StringgetPath()將此抽象路徑名轉(zhuǎn)換為路徑名字符串。
longgetTotalSpace()返回由此抽象路徑名命名的分區(qū)的大小。
longgetUsableSpace()返回此抽象路徑名命名的分區(qū)上此虛擬機(jī)可用的字節(jié)數(shù)。
inthashCode()計(jì)算此抽象路徑名的哈希碼。
booleanisAbsolute()測(cè)試此抽象路徑名是否是絕對(duì)的。
booleanisDirectory()測(cè)試此抽象路徑名表示的文件是否為目錄。
booleanisFile()測(cè)試此抽象路徑名表示的文件是否為普通文件。
booleanisHidden()測(cè)試此抽象路徑名命名的文件是否為隱藏文件。
longlastModified()返回此抽象路徑名表示的文件最后一次修改的時(shí)間。
longlength()返回此抽象路徑名表示的文件的長(zhǎng)度。
String[]list()返回一個(gè)字符串?dāng)?shù)組,命名此抽象路徑名表示的目錄中的文件和目錄。
String[]list(FilenameFilter filter)返回一個(gè)字符串?dāng)?shù)組,命名由該抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
File[]listFiles()返回一個(gè)抽象路徑名數(shù)組,表示此抽象路徑名表示的目錄中的文件。
File[]listFiles(FileFilter filter)返回一個(gè)抽象路徑名數(shù)組,表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
File[]listFiles(FilenameFilter filter)返回一個(gè)抽象路徑名數(shù)組,表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。
static File[]listRoots()列出可用的文件系統(tǒng)根。
booleanmkdir()創(chuàng)建由此抽象路徑名命名的目錄。
booleanmkdirs()創(chuàng)建由此抽象路徑名命名的目錄,包括任何必要但不存在的父目錄。
booleanrenameTo(File dest)重命名此抽象路徑名表示的文件。
booleansetExecutable(boolean executable)設(shè)置此抽象路徑名的所有者執(zhí)行權(quán)限的便捷方法。
booleansetExecutable(boolean executable, boolean ownerOnly)設(shè)置此抽象路徑名的所有者或所有人的執(zhí)行權(quán)限。
booleansetLastModified(long time)設(shè)置由此抽象路徑名命名的文件或目錄的最后修改時(shí)間。
booleansetReadable(boolean readable)設(shè)置所有者對(duì)此抽象路徑名的讀取權(quán)限的便捷方法。
booleansetReadable(boolean readable, boolean ownerOnly)設(shè)置此抽象路徑名的所有者或所有人的讀取權(quán)限。
booleansetReadOnly()標(biāo)記由此抽象路徑名命名的文件或目錄,以便只允許讀取操作。
booleansetWritable(boolean writable)設(shè)置所有者對(duì)此抽象路徑名的寫權(quán)限的便捷方法。
booleansetWritable(boolean writable, boolean ownerOnly)設(shè)置此抽象路徑名的所有者或所有人的寫權(quán)限。
PathtoPath()返回從 this 抽象路徑構(gòu)造的 Path 對(duì)象。
StringtoString()返回此抽象路徑名的路徑名字符串。
URItoURI()構(gòu)造一個(gè)文件:表示此抽象路徑名的 URI。
URLtoURL()已棄用。 此方法不會(huì)自動(dòng)轉(zhuǎn)義 URL 中的非法字符。 建議新代碼將抽象路徑名轉(zhuǎn)換為 URL,首先通過 toURI 方法將其轉(zhuǎn)換為 URI,然后通過 URI.toURL 方法將 URI 轉(zhuǎn)換為 URL。
從類 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

字段詳細(xì)信息

pathSeparator

public static final String pathSeparator

系統(tǒng)相關(guān)的路徑分隔符,為方便起見表示為字符串。 該字符串包含單個(gè)字符,即 pathSeparatorChar。

pathSeparatorChar

public static final char pathSeparatorChar

系統(tǒng)相關(guān)的路徑分隔符字符。 該字段被初始化為包含系統(tǒng)屬性 path.separator 值的第一個(gè)字符。 此字符用于分隔作為路徑列表給出的文件序列中的文件名。 在 UNIX 系統(tǒng)上,這個(gè)字符是 ':'; 在 Microsoft Windows 系統(tǒng)上它是 ';'。

separator

public static final String separator

系統(tǒng)相關(guān)的默認(rèn)名稱分隔符,為方便起見表示為字符串。 該字符串包含單個(gè)字符,即 separatorChar。

separatorChar

public static final char separatorChar

系統(tǒng)相關(guān)的默認(rèn)名稱分隔符。 該字段被初始化為包含系統(tǒng)屬性 file.separator 值的第一個(gè)字符。 在 UNIX 系統(tǒng)上,該字段的值為 '/'; 在 Microsoft Windows 系統(tǒng)上它是 ''。

構(gòu)造函數(shù)詳細(xì)信息

File

public File(String pathname)

通過將給定的路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新的 File 實(shí)例。 如果給定的字符串是空字符串,則結(jié)果是空的抽象路徑名。

參數(shù):

參數(shù)名稱參數(shù)描述
pathname路徑名字符串

Throws:

Throw名稱Throw描述
NullPointerException如果路徑名參數(shù)為空

File

public File(String parent, String child)

從父路徑名字符串和子路徑名字符串創(chuàng)建一個(gè)新的 File 實(shí)例。

如果 parent 為 null,則創(chuàng)建新的 File 實(shí)例,就好像通過在給定的子路徑名字符串上調(diào)用單參數(shù) File 構(gòu)造函數(shù)一樣。

否則,父路徑名字符串被用來表示目錄,而子路徑名字符串被用來表示目錄或文件。 如果子路徑名字符串是絕對(duì)的,那么它將以系統(tǒng)相關(guān)的方式轉(zhuǎn)換為相對(duì)路徑名。 如果 parent 是空字符串,則通過將 child 轉(zhuǎn)換為抽象路徑名并根據(jù)系統(tǒng)相關(guān)的默認(rèn)目錄解析結(jié)果來創(chuàng)建新的 File 實(shí)例。 否則,每個(gè)路徑名字符串都將轉(zhuǎn)換為抽象路徑名,并且子抽象路徑名將針對(duì)父級(jí)解析。

參數(shù):

參數(shù)名稱參數(shù)描述
parent父路徑名字符串
child子路徑名字符串

Throws:

Throw名稱Throw描述
NullPointerException如果 child 為空

File

public File(File parent, String child)

從父抽象路徑名和子路徑名字符串創(chuàng)建一個(gè)新的 File 實(shí)例。

如果 parent 為 null,則創(chuàng)建新的 File 實(shí)例,就好像通過在給定的子路徑名字符串上調(diào)用單參數(shù) File 構(gòu)造函數(shù)一樣。

否則,父抽象路徑名被用來表示一個(gè)目錄,而子路徑名字符串被用來表示一個(gè)目錄或一個(gè)文件。 如果子路徑名字符串是絕對(duì)的,那么它將以系統(tǒng)相關(guān)的方式轉(zhuǎn)換為相對(duì)路徑名。 如果 parent 是空的抽象路徑名,則通過將 child 轉(zhuǎn)換為抽象路徑名并根據(jù)系統(tǒng)相關(guān)的默認(rèn)目錄解析結(jié)果來創(chuàng)建新的 File 實(shí)例。 否則,每個(gè)路徑名字符串都將轉(zhuǎn)換為抽象路徑名,并且子抽象路徑名將針對(duì)父級(jí)解析。

參數(shù):

參數(shù)名稱參數(shù)描述
parent父抽象路徑名
child子路徑名字符串

Throws:

Throw名稱Throw描述
NullPointerException如果 child 為空

File

public File(URI uri)

通過將給定的 file: URI 轉(zhuǎn)換為抽象路徑名來創(chuàng)建一個(gè)新的 File 實(shí)例。

文件的確切形式:URI 是系統(tǒng)相關(guān)的,因此此構(gòu)造函數(shù)執(zhí)行的轉(zhuǎn)換也是系統(tǒng)相關(guān)的。

對(duì)于給定的抽象路徑名 f,保證

新文件(f.toURI()).equals(f.getAbsoluteFile())

只要原始抽象路徑名、URI 和新的抽象路徑名都是在同一個(gè) Java 虛擬機(jī)中創(chuàng)建的(可能是不同的調(diào)用)。 但是,當(dāng)文件:在一個(gè)操作系統(tǒng)上的虛擬機(jī)中創(chuàng)建的 URI 被轉(zhuǎn)換為不同操作系統(tǒng)上的虛擬機(jī)中的抽象路徑名時(shí),這種關(guān)系通常不成立。

參數(shù):

參數(shù)名稱參數(shù)描述
uri一個(gè)絕對(duì)的、分層的 URI,其方案等于“文件”、一個(gè)非空路徑組件以及未定義的權(quán)限、查詢和片段組件

Throws:

Throw名稱Throw描述
NullPointerException如果 uri 為空
IllegalArgumentException如果參數(shù)的前提條件不成立

Since:

1.4

方法詳情

getName

public String getName()

返回此抽象路徑名表示的文件或目錄的名稱。 這只是路徑名的名稱序列中的最后一個(gè)名稱。 如果路徑名的名稱序列為空,則返回空字符串。

返回:

此抽象路徑名表示的文件或目錄的名稱,如果此路徑名的名稱序列為空,則為空字符串

getParent

public String getParent()

返回此抽象路徑名的父目錄的路徑名字符串,如果此路徑名未命名父目錄,則返回 null。

抽象路徑名的父級(jí)由路徑名的前綴(如果有)和路徑名的名稱序列中除最后一個(gè)以外的每個(gè)名稱組成。 如果名稱序列為空,則路徑名不命名父目錄。

返回:

此抽象路徑名命名的父目錄的路徑名字符串,如果此路徑名未命名父目錄,則為 null

getParentFile

public File getParentFile()

返回此抽象路徑名的父級(jí)的抽象路徑名,如果此路徑名未命名父目錄,則返回 null。

抽象路徑名的父級(jí)由路徑名的前綴(如果有)和路徑名的名稱序列中除最后一個(gè)以外的每個(gè)名稱組成。 如果名稱序列為空,則路徑名不命名父目錄。

返回:

此抽象路徑名命名的父目錄的抽象路徑名,如果此路徑名未命名父目錄,則為 null

Since:

1.2

getPath

public String getPath()

將此抽象路徑名轉(zhuǎn)換為路徑名字符串。 生成的字符串使用默認(rèn)的名稱分隔符來分隔名稱序列中的名稱。

返回:

此抽象路徑名的字符串形式

isAbsolute

public boolean isAbsolute()

測(cè)試此抽象路徑名是否是絕對(duì)的。 絕對(duì)路徑名的定義取決于系統(tǒng)。 在 UNIX 系統(tǒng)上,如果前綴為“/”,則路徑名是絕對(duì)路徑名。 在 Microsoft Windows 系統(tǒng)上,如果路徑名的前綴是驅(qū)動(dòng)器說明符后跟“”,或者其前綴是“”,則路徑名是絕對(duì)路徑名。

返回:

如果此抽象路徑名是絕對(duì)的,則為 true,否則為 false

getAbsolutePath

public String getAbsolutePath()

返回此抽象路徑名的絕對(duì)路徑名字符串。

如果這個(gè)抽象路徑名已經(jīng)是絕對(duì)的,那么路徑名字符串就像 getPath() 方法一樣簡(jiǎn)單地返回。 如果此抽象路徑名是空的抽象路徑名,則返回當(dāng)前用戶目錄的路徑名字符串,該路徑名由系統(tǒng)屬性 user.dir 命名。 否則,此路徑名將以系統(tǒng)相關(guān)的方式解析。 在 UNIX 系統(tǒng)上,通過根據(jù)當(dāng)前用戶目錄解析相對(duì)路徑名,使其成為絕對(duì)路徑名。 在 Microsoft Windows 系統(tǒng)上,通過將相對(duì)路徑名解析為由路徑名命名的驅(qū)動(dòng)器的當(dāng)前目錄(如果有),從而使相對(duì)路徑名成為絕對(duì)路徑; 如果不是,則針對(duì)當(dāng)前用戶目錄進(jìn)行解析。

返回:

表示與此抽象路徑名相同的文件或目錄的絕對(duì)路徑名字符串

Throws:

Throw名稱Throw描述
SecurityException如果無法訪問所需的系統(tǒng)屬性值。

getAbsoluteFile

public File getAbsoluteFile()

返回此抽象路徑名的絕對(duì)形式。 等效于新文件(this.getAbsolutePath())。

返回:

表示與此抽象路徑名相同的文件或目錄的絕對(duì)抽象路徑名

Throws:

Throw名稱Throw描述
SecurityException如果無法訪問所需的系統(tǒng)屬性值。

Since:

1.2

getCanonicalPath

public String getCanonicalPath() throws IOException

返回此抽象路徑名的規(guī)范路徑名字符串。

規(guī)范路徑名是絕對(duì)且唯一的。規(guī)范形式的精確定義取決于系統(tǒng)。如果需要,此方法首先將此路徑名轉(zhuǎn)換為絕對(duì)形式,就像調(diào)用 getAbsolutePath() 方法一樣,然后以系統(tǒng)相關(guān)的方式將其映射到其唯一形式。這通常涉及刪除冗余名稱,例如“?!焙吐窂矫械摹?.”,解析符號(hào)鏈接(在 UNIX 平臺(tái)上),并將驅(qū)動(dòng)器號(hào)轉(zhuǎn)換為標(biāo)準(zhǔn)大小寫(在 Microsoft Windows 平臺(tái)上)。

每個(gè)表示現(xiàn)有文件或目錄的路徑名都有唯一的規(guī)范形式。每個(gè)表示不存在的文件或目錄的路徑名也具有唯一的規(guī)范形式。不存在的文件或目錄的路徑名的規(guī)范形式可能與創(chuàng)建文件或目錄后相同路徑名的規(guī)范形式不同。類似地,現(xiàn)有文件或目錄的路徑名的規(guī)范形式可能與刪除文件或目錄后相同路徑名的規(guī)范形式不同。

返回:

表示與此抽象路徑名相同的文件或目錄的規(guī)范路徑名字符串

Throws:

Throw名稱Throw描述
IOException如果發(fā)生 I/O 錯(cuò)誤,這是可能的,因?yàn)橐?guī)范路徑名的構(gòu)造可能需要文件系統(tǒng)查詢
SecurityException如果無法訪問所需的系統(tǒng)屬性值,或者安全管理器存在且其 SecurityManager.checkRead(java.io.FileDescriptor) 方法拒絕讀取文件

Since:

JDK1.1

getCanonicalFile

public File getCanonicalFile() throws IOException

返回此抽象路徑名的規(guī)范形式。 等效于新文件(this.getCanonicalPath())。

返回:

表示與此抽象路徑名相同的文件或目錄的規(guī)范路徑名字符串

Throws:

Throw名稱Throw描述
IOException如果發(fā)生 I/O 錯(cuò)誤,這是可能的,因?yàn)橐?guī)范路徑名的構(gòu)造可能需要文件系統(tǒng)查詢
SecurityException如果無法訪問所需的系統(tǒng)屬性值,或者安全管理器存在且其 SecurityManager.checkRead(java.io.FileDescriptor) 方法拒絕讀取文件

Since:

1.2

toURL

@Deprecated public URL toURL() throws MalformedURLException

已棄用。 此方法不會(huì)自動(dòng)轉(zhuǎn)義 URL 中的非法字符。 建議新代碼將抽象路徑名轉(zhuǎn)換為 URL,首先通過 toURI 方法將其轉(zhuǎn)換為 URI,然后通過 URI.toURL 方法將 URI 轉(zhuǎn)換為 URL。

將此抽象路徑名轉(zhuǎn)換為文件:URL。 URL 的確切形式取決于系統(tǒng)。 如果可以確定此抽象路徑名表示的文件是目錄,則生成的 URL 將以斜杠結(jié)尾。

返回:

表示等效文件 URL 的 URL 對(duì)象

Throws:

Throw名稱Throw描述
MalformedURLException如果路徑無法解析為 URL

Since:

1.2

toURI

public URI toURI()

構(gòu)造一個(gè)文件:表示此抽象路徑名的 URI。

URI 的確切形式取決于系統(tǒng)。如果可以確定此抽象路徑名表示的文件是目錄,則生成的 URI 將以斜杠結(jié)尾。

對(duì)于給定的抽象路徑名 f,保證

new File( f.toURI()).equals( f.getAbsoluteFile())

只要原始抽象路徑名、URI 和新的抽象路徑名都是在同一個(gè) Java 虛擬機(jī)中創(chuàng)建的(可能是不同的調(diào)用)。但是,由于抽象路徑名的系統(tǒng)相關(guān)性,當(dāng)一個(gè)文件:在一個(gè)操作系統(tǒng)上的虛擬機(jī)中創(chuàng)建的 URI 被轉(zhuǎn)換為不同操作系統(tǒng)上的虛擬機(jī)中的抽象路徑名時(shí),這種關(guān)系通常不成立.

請(qǐng)注意,當(dāng)此抽象路徑名表示 UNC 路徑名時(shí),UNC 的所有組件(包括服務(wù)器名稱組件)都在 URI 路徑中進(jìn)行編碼。權(quán)限組件是未定義的,這意味著它表示為空。 Path 類定義了 Path#toUri 方法以在生成的 URI 的授權(quán)組件中對(duì)服務(wù)器名稱進(jìn)行編碼。 toPath 方法可用于獲取表示此抽象路徑名的 Path。

返回:

具有等于“文件”的方案的絕對(duì)分層 URI、表示此抽象路徑名的路徑以及未定義的權(quán)限、查詢和片段組件

Throws:

Throw名稱Throw描述
SecurityException如果無法訪問所需的系統(tǒng)屬性值。

Since:

1.4

canRead

public boolean canRead()

測(cè)試應(yīng)用程序是否可以讀取此抽象路徑名表示的文件。 在某些平臺(tái)上,可以使用特殊權(quán)限啟動(dòng) Java 虛擬機(jī),使其能夠讀取標(biāo)記為不可讀的文件。 因此,即使文件沒有讀取權(quán)限,此方法也可能返回 true。

返回:

當(dāng)且僅當(dāng)此抽象路徑名指定的文件存在并且應(yīng)用程序可以讀取時(shí),才為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對(duì)文件的讀取訪問權(quán)限

canWrite

public boolean canWrite()

測(cè)試應(yīng)用程序是否可以修改此抽象路徑名表示的文件。 在某些平臺(tái)上,可以使用允許它修改標(biāo)記為只讀的文件的特殊權(quán)限啟動(dòng) Java 虛擬機(jī)。 因此,即使文件被標(biāo)記為只讀,此方法也可能返回 true。

返回:

當(dāng)且僅當(dāng)文件系統(tǒng)實(shí)際上包含由此抽象路徑名表示的文件并且允許應(yīng)用程序?qū)懭朐撐募r(shí),才返回 true; 否則為 false。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)文件的寫訪問

exists

public boolean exists()

測(cè)試此抽象路徑名表示的文件或目錄是否存在。

返回:

當(dāng)且僅當(dāng)此抽象路徑名表示的文件或目錄存在時(shí)才為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對(duì)文件或目錄的讀取訪問權(quán)限

isDirectory

public boolean isDirectory()

測(cè)試此抽象路徑名表示的文件是否為目錄。

如果需要將 I/O 異常與文件不是目錄的情況進(jìn)行區(qū)分,或者同時(shí)需要同一文件的多個(gè)屬性,則可以使用 Files.readAttributes 方法。

返回:

當(dāng)且僅當(dāng)此抽象路徑名表示的文件存在并且是目錄時(shí)才為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對(duì)文件的讀取訪問權(quán)限

isFile

public boolean isFile()

測(cè)試此抽象路徑名表示的文件是否為普通文件。 如果文件不是目錄,并且滿足其他系統(tǒng)相關(guān)標(biāo)準(zhǔn),則該文件是正常的。 Java 應(yīng)用程序創(chuàng)建的任何非目錄文件都保證是普通文件。

如果需要區(qū)分 I/O 異常和文件不是普通文件的情況,或者同時(shí)需要同一文件的多個(gè)屬性,則可以使用 Files.readAttributes 方法。

返回:

當(dāng)且僅當(dāng)此抽象路徑名表示的文件存在并且是普通文件時(shí)才為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對(duì)文件的讀取訪問權(quán)限

isHidden

public boolean isHidden()

測(cè)試此抽象路徑名命名的文件是否為隱藏文件。 隱藏的確切定義取決于系統(tǒng)。 在 UNIX 系統(tǒng)上,如果文件名以句點(diǎn)字符 ('.') 開頭,則文件被認(rèn)為是隱藏的。 在 Microsoft Windows 系統(tǒng)上,如果文件在文件系統(tǒng)中被標(biāo)記為隱藏文件,則該文件被視為隱藏文件。

返回:

當(dāng)且僅當(dāng)此抽象路徑名表示的文件根據(jù)底層平臺(tái)的約定被隱藏時(shí)才為 true

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對(duì)文件的讀取訪問權(quán)限

Since:

1.2

lastModified

public long lastModified()

返回此抽象路徑名表示的文件最后一次修改的時(shí)間。

如果需要區(qū)分 I/O 異常和返回 0L 的情況,或者同時(shí)需要同一文件的多個(gè)屬性,或者需要最后訪問時(shí)間或創(chuàng)建時(shí)間的情況,則 可以使用 Files.readAttributes 方法。

返回:

表示文件最后修改時(shí)間的長(zhǎng)值,以自紀(jì)元(格林威治標(biāo)準(zhǔn)時(shí)間 00:00:00,1970 年 1 月 1 日)以來的毫秒數(shù)為單位,如果文件不存在或發(fā)生 I/O 錯(cuò)誤,則為 0L

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對(duì)文件的讀取訪問權(quán)限

length

public long length()

返回此抽象路徑名表示的文件的長(zhǎng)度。 如果此路徑名表示目錄,則返回值未指定。

如果需要區(qū)分 I/O 異常和返回 0L 的情況,或者同時(shí)需要同一文件的多個(gè)屬性,則可以使用 Files.readAttributes 方法。

返回:

此抽象路徑名表示的文件的長(zhǎng)度(以字節(jié)為單位),如果文件不存在,則為 0L。 對(duì)于表示系統(tǒng)相關(guān)實(shí)體(例如設(shè)備或管道)的路徑名,某些操作系統(tǒng)可能會(huì)返回 0L。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法拒絕對(duì)文件的讀取訪問權(quán)限

createNewFile

public boolean createNewFile() throws IOException

當(dāng)且僅當(dāng)具有此名稱的文件尚不存在時(shí),以原子方式創(chuàng)建以此抽象路徑名命名的新的空文件。 檢查文件是否存在以及如果文件不存在則創(chuàng)建文件是單個(gè)操作,相對(duì)于可能影響文件的所有其他文件系統(tǒng)活動(dòng)而言是原子操作。

注意:此方法不應(yīng)用于文件鎖定,因?yàn)樯傻膮f(xié)議不能可靠地工作。 應(yīng)該改用 FileLock 工具。

返回:

如果命名文件不存在且已成功創(chuàng)建,則為 true; 如果命名文件已經(jīng)存在,則返回 false

Throws:

Throw每次Throw描述
IOException如果發(fā)生 I/O 錯(cuò)誤
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)文件的寫訪問

Since:

1.2

delete

public boolean delete()

刪除此抽象路徑名表示的文件或目錄。 如果此路徑名表示一個(gè)目錄,則該目錄必須為空才能被刪除。

請(qǐng)注意,F(xiàn)iles 類定義了 delete 方法以在無法刪除文件時(shí)拋出 IOException。 這對(duì)于錯(cuò)誤報(bào)告和診斷無法刪除文件的原因很有用。

返回:

當(dāng)且僅當(dāng)文件或目錄被成功刪除時(shí)為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkDelete(java.lang.String) 方法拒絕刪除對(duì)文件的訪問權(quán)限

deleteOnExit

public void deleteOnExit()

請(qǐng)求在虛擬機(jī)終止時(shí)刪除此抽象路徑名表示的文件或目錄。 文件(或目錄)的刪除順序與注冊(cè)時(shí)相反。 調(diào)用此方法刪除已注冊(cè)刪除的文件或目錄無效。 按照 Java 語(yǔ)言規(guī)范的定義,僅在虛擬機(jī)正常終止時(shí)才會(huì)嘗試刪除。

一旦請(qǐng)求刪除,就無法取消請(qǐng)求。 因此,應(yīng)謹(jǐn)慎使用此方法。

注意:此方法不應(yīng)用于文件鎖定,因?yàn)樯傻膮f(xié)議不能可靠地工作。 應(yīng)該改用 FileLock 工具。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkDelete(java.lang.String) 方法拒絕刪除對(duì)文件的訪問權(quán)限

Since:

1.2

list

public String[] list()

返回一個(gè)字符串?dāng)?shù)組,命名此抽象路徑名表示的目錄中的文件和目錄。

如果此抽象路徑名不表示目錄,則此方法返回 null。否則返回一個(gè)字符串?dāng)?shù)組,一個(gè)對(duì)應(yīng)于目錄中的每個(gè)文件或目錄。結(jié)果中不包括表示目錄本身和目錄父目錄的名稱。每個(gè)字符串都是一個(gè)文件名,而不是一個(gè)完整的路徑。

無法保證結(jié)果數(shù)組中的名稱字符串會(huì)以任何特定順序出現(xiàn);特別是,它們不能保證按字母順序出現(xiàn)。

請(qǐng)注意,F(xiàn)iles 類定義了 newDirectoryStream 方法來打開目錄并遍歷目錄中文件的名稱。在處理非常大的目錄時(shí),這可能會(huì)使用更少的資源,并且在處理遠(yuǎn)程目錄時(shí)可能會(huì)更敏感。

返回:

一個(gè)字符串?dāng)?shù)組,命名此抽象路徑名表示的目錄中的文件和目錄。如果目錄為空,則數(shù)組將為空。如果此抽象路徑名不表示目錄,或者發(fā)生 I/O 錯(cuò)誤,則返回 null。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager#checkRead(String) 方法拒絕對(duì)目錄的讀取訪問權(quán)限

list

public String[] list(FilenameFilter filter)

返回一個(gè)字符串?dāng)?shù)組,命名由該抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。 此方法的行為與 list() 方法的行為相同,只是返回?cái)?shù)組中的字符串必須滿足過濾器。 如果給定的過濾器為空,則接受所有名稱。 否則,當(dāng)且僅當(dāng)在此抽象路徑名和它所表示的目錄中的文件或目錄的名稱上調(diào)用過濾器的 FilenameFilter#accept 方法時(shí)結(jié)果值為 true 時(shí),名稱才滿足過濾器。

參數(shù):

參數(shù)名稱參數(shù)描述
filter文件名過濾器

返回:

一個(gè)字符串?dāng)?shù)組,命名由給定過濾器接受的此抽象路徑名表示的目錄中的文件和目錄。 如果目錄為空或過濾器不接受任何名稱,則數(shù)組將為空。 如果此抽象路徑名不表示目錄,或者發(fā)生 I/O 錯(cuò)誤,則返回 null。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager#checkRead(String) 方法拒絕對(duì)目錄的讀取訪問權(quán)限

listFiles

public File[] listFiles()

返回一個(gè)抽象路徑名數(shù)組,表示此抽象路徑名表示的目錄中的文件。

如果此抽象路徑名不表示目錄,則此方法返回 null。否則返回一個(gè) File 對(duì)象數(shù)組,一個(gè)對(duì)應(yīng)于目錄中的每個(gè)文件或目錄。結(jié)果中不包括表示目錄本身和目錄父目錄的路徑名。每個(gè)生成的抽象路徑名都是使用 File(File, String) 構(gòu)造函數(shù)從這個(gè)抽象路徑名構(gòu)造的。因此,如果這個(gè)路徑名是絕對(duì)的,那么每個(gè)生成的路徑名都是絕對(duì)的;如果此路徑名是相對(duì)的,則每個(gè)生成的路徑名都將相對(duì)于同一目錄。

無法保證結(jié)果數(shù)組中的名稱字符串會(huì)以任何特定順序出現(xiàn);特別是,它們不能保證按字母順序出現(xiàn)。

請(qǐng)注意,F(xiàn)iles 類定義了 newDirectoryStream 方法來打開目錄并遍歷目錄中文件的名稱。在處理非常大的目錄時(shí),這可能會(huì)使用更少的資源。

返回:

一組抽象路徑名,表示由該抽象路徑名表示的目錄中的文件和目錄。如果目錄為空,則數(shù)組將為空。如果此抽象路徑名不表示目錄,或者發(fā)生 I/O 錯(cuò)誤,則返回 null。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager#checkRead(String) 方法拒絕對(duì)目錄的讀取訪問權(quán)限

Since:

1.2

listFiles

public File[] listFiles(FilenameFilter filter)

返回一個(gè)抽象路徑名數(shù)組,表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。 此方法的行為與 listFiles() 方法的行為相同,只是返回?cái)?shù)組中的路徑名必須滿足過濾器。 如果給定的過濾器為空,則接受所有路徑名。 否則,當(dāng)且僅當(dāng)在此抽象路徑名和它所表示的目錄中的文件或目錄的名稱上調(diào)用過濾器的 FilenameFilter#accept 方法時(shí)結(jié)果值為 true 時(shí),路徑名才滿足過濾器。

參數(shù):

參數(shù)名稱參數(shù)描述
filter文件名過濾器

返回:

一組抽象路徑名,表示由該抽象路徑名表示的目錄中的文件和目錄。 如果目錄為空,則數(shù)組將為空。 如果此抽象路徑名不表示目錄,或者發(fā)生 I/O 錯(cuò)誤,則返回 null。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager#checkRead(String) 方法拒絕對(duì)目錄的讀取訪問權(quán)限

Since:

1.2

listFiles

public File[] listFiles(FileFilter filter)

返回一個(gè)抽象路徑名數(shù)組,表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄。 此方法的行為與 listFiles() 方法的行為相同,只是返回?cái)?shù)組中的路徑名必須滿足過濾器。 如果給定的過濾器為空,則接受所有路徑名。 否則,當(dāng)且僅當(dāng)在路徑名上調(diào)用過濾器的 FileFilter#accept 方法時(shí)結(jié)果為 true 時(shí),路徑名才滿足過濾器。

參數(shù):

參數(shù)名稱參數(shù)描述
filter文件過濾器

返回:

一組抽象路徑名,表示由該抽象路徑名表示的目錄中的文件和目錄。 如果目錄為空,則數(shù)組將為空。 如果此抽象路徑名不表示目錄,或者發(fā)生 I/O 錯(cuò)誤,則返回 null。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager#checkRead(String) 方法拒絕對(duì)目錄的讀取訪問權(quán)限

Since:

1.2

mkdir

public boolean mkdir()

創(chuàng)建由此抽象路徑名命名的目錄。

返回:

當(dāng)且僅當(dāng)目錄被創(chuàng)建時(shí)為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法不允許創(chuàng)建命名目錄

mkdirs

public boolean mkdirs()

創(chuàng)建由此抽象路徑名命名的目錄,包括任何必要但不存在的父目錄。 請(qǐng)注意,如果此操作失敗,它可能已成功創(chuàng)建一些必要的父目錄。

返回:

當(dāng)且僅當(dāng)創(chuàng)建了目錄以及所有必要的父目錄時(shí)才為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkRead(java.lang.String) 方法不允許驗(yàn)證命名目錄和所有必要父目錄的存在; 或者如果 SecurityManager.checkWrite(java.lang.String) 方法不允許創(chuàng)建命名目錄和所有必要的父目錄

renameTo

public boolean renameTo(File dest)

重命名此抽象路徑名表示的文件。

此方法行為的許多方面本質(zhì)上與平臺(tái)相關(guān):重命名操作可能無法將文件從一個(gè)文件系統(tǒng)移動(dòng)到另一個(gè)文件系統(tǒng),它可能不是原子的,并且如果文件具有目標(biāo)抽象路徑名,它可能不會(huì)成功 已經(jīng)存在。 應(yīng)始終檢查返回值以確保重命名操作成功。

請(qǐng)注意,F(xiàn)iles 類定義了 move 方法以獨(dú)立于平臺(tái)的方式移動(dòng)或重命名文件。

參數(shù):

參數(shù)名稱參數(shù)描述
dest命名文件的新抽象路徑名

返回:

當(dāng)且僅當(dāng)重命名成功時(shí)為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果安全管理器存在且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)舊路徑名或新路徑名的寫訪問
NullPointerException如果參數(shù) dest 為空

setLastModified

public boolean setLastModified(long time)

設(shè)置由此抽象路徑名命名的文件或目錄的最后修改時(shí)間。

所有平臺(tái)都支持精確到秒的文件修改時(shí)間,但有些平臺(tái)提供更高的精度。 該參數(shù)將被截?cái)嘁赃m應(yīng)支持的精度。 如果操作成功并且沒有對(duì)文件進(jìn)行干預(yù)操作,則 lastModified() 方法的下一次調(diào)用將返回傳遞給此方法的(可能被截?cái)嗟模r(shí)間參數(shù)。

參數(shù):

參數(shù)名稱參數(shù)描述
time新的最后修改時(shí)間,自紀(jì)元以來的毫秒數(shù)(格林威治標(biāo)準(zhǔn)時(shí)間 00:00:00,1970 年 1 月 1 日)

返回:

當(dāng)且僅當(dāng)操作成功時(shí)為 true; 否則為 false

Throws:

Throw名稱Throw描述
IllegalArgumentException如果參數(shù)是否定的
SecurityException如果安全管理器存在并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)指定文件的寫訪問

Since:

1.2

setReadOnly

public boolean setReadOnly()

標(biāo)記由此抽象路徑名命名的文件或目錄,以便只允許讀取操作。 調(diào)用此方法后,文件或目錄在被刪除或標(biāo)記為允許寫入訪問之前不會(huì)更改。 在某些平臺(tái)上,可以使用允許它修改標(biāo)記為只讀的文件的特殊權(quán)限啟動(dòng) Java 虛擬機(jī)。 是否可以刪除只讀文件或目錄取決于底層系統(tǒng)。

返回:

當(dāng)且僅當(dāng)操作成功時(shí)為 true; 否則為 false

Throws:

Throw名稱Throw描述
SecurityException如果安全管理器存在并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)指定文件的寫訪問

Since:

1.2

setWritable

public boolean setWritable(boolean writable, boolean ownerOnly)

設(shè)置此抽象路徑名的所有者或所有人的寫權(quán)限。 在某些平臺(tái)上,可以使用允許它修改不允許寫入操作的文件的特殊權(quán)限來啟動(dòng) Java 虛擬機(jī)。

Files 類定義了對(duì)文件屬性(包括文件權(quán)限)進(jìn)行操作的方法。 當(dāng)需要對(duì)文件權(quán)限進(jìn)行更精細(xì)的操作時(shí),可以使用此選項(xiàng)。

參數(shù):

參數(shù)名稱參數(shù)描述
writable如果為 true,則設(shè)置訪問權(quán)限以允許寫操作; 如果為 false 則禁止寫操作
ownerOnly如果為true,則寫權(quán)限僅適用于所有者的寫權(quán)限; 否則,它適用于所有人。 如果底層文件系統(tǒng)無法區(qū)分所有者的寫權(quán)限和其他人的寫權(quán)限,那么該權(quán)限將適用于每個(gè)人,而不管這個(gè)值是多少。

返回:

當(dāng)且僅當(dāng)操作成功時(shí)才為 true。 如果用戶無權(quán)更改此抽象路徑名的訪問權(quán)限,則操作將失敗。

Throws:

Throw名稱Throw描述
SecurityException如果安全管理器存在并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)指定文件的寫訪問

Since:

1.6

setWritable

public boolean setWritable(boolean writable)

設(shè)置所有者對(duì)此抽象路徑名的寫權(quán)限的便捷方法。 在某些平臺(tái)上,可以使用允許它修改不允許寫入操作的文件的特殊權(quán)限來啟動(dòng) Java 虛擬機(jī)。

以 file.setWritable(arg) 形式調(diào)用此方法的行為與調(diào)用完全相同

     file.setWritable(arg, true)

參數(shù):

參數(shù)名稱參數(shù)描述
writable如果為 true,則設(shè)置訪問權(quán)限以允許寫操作; 如果為 false 則禁止寫操作

返回:

當(dāng)且僅當(dāng)操作成功時(shí)才為 true。 如果用戶無權(quán)更改此抽象路徑名的訪問權(quán)限,則操作將失敗。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)文件的寫訪問

Since:

1.6

setReadable

public boolean setReadable(boolean readable, boolean ownerOnly)

設(shè)置此抽象路徑名的所有者或所有人的讀取權(quán)限。 在某些平臺(tái)上,可以使用特殊權(quán)限啟動(dòng) Java 虛擬機(jī),使其能夠讀取標(biāo)記為不可讀的文件。

Files 類定義了對(duì)文件屬性(包括文件權(quán)限)進(jìn)行操作的方法。 當(dāng)需要對(duì)文件權(quán)限進(jìn)行更精細(xì)的操作時(shí),可以使用此選項(xiàng)。

參數(shù):

參數(shù)名稱參數(shù)描述
readable如果為 true,則設(shè)置訪問權(quán)限以允許讀取操作; 如果為 false 則不允許讀取操作
ownerOnly如果為 true,則讀取權(quán)限僅適用于所有者的讀取權(quán)限; 否則,它適用于所有人。 如果底層文件系統(tǒng)無法區(qū)分所有者的讀取權(quán)限和其他人的讀取權(quán)限,則該權(quán)限將適用于所有人,無論此值如何。

返回:

當(dāng)且僅當(dāng)操作成功時(shí)才為 true。 如果用戶無權(quán)更改此抽象路徑名的訪問權(quán)限,則操作將失敗。 如果 readable 為 false 并且底層文件系統(tǒng)沒有實(shí)現(xiàn)讀權(quán)限,那么操作將失敗。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)文件的寫訪問

Since:

1.6

setReadable

public boolean setReadable(boolean readable)

設(shè)置所有者對(duì)此抽象路徑名的讀取權(quán)限的便捷方法。 在某些平臺(tái)上,可以使用特殊權(quán)限啟動(dòng) Java 虛擬機(jī),使其能夠讀取標(biāo)記為不可讀的文件。

調(diào)用這種形式為 file.setReadable(arg) 的方法的行為與調(diào)用完全相同

     file.setReadable(arg, true)

參數(shù):

參數(shù)名稱參數(shù)描述
readable如果為 true,則設(shè)置訪問權(quán)限以允許讀取操作; 如果為 false 則不允許讀取操作

返回:

當(dāng)且僅當(dāng)操作成功時(shí)才為 true。 如果用戶無權(quán)更改此抽象路徑名的訪問權(quán)限,則操作將失敗。 如果 readable 為 false 并且底層文件系統(tǒng)沒有實(shí)現(xiàn)讀權(quán)限,那么操作將失敗。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)文件的寫訪問

Since:

1.6

setExecutable

public boolean setExecutable(boolean executable, boolean ownerOnly)

設(shè)置此抽象路徑名的所有者或所有人的執(zhí)行權(quán)限。 在某些平臺(tái)上,可以使用允許它執(zhí)行未標(biāo)記為可執(zhí)行文件的特殊權(quán)限來啟動(dòng) Java 虛擬機(jī)。

Files 類定義了對(duì)文件屬性(包括文件權(quán)限)進(jìn)行操作的方法。 當(dāng)需要對(duì)文件權(quán)限進(jìn)行更精細(xì)的操作時(shí),可以使用此選項(xiàng)。

參數(shù):

參數(shù)名稱參數(shù)描述
executable如果為 true,則設(shè)置訪問權(quán)限以允許執(zhí)行操作; 如果為 false 則不允許執(zhí)行操作
ownerOnly如果為 true,則執(zhí)行權(quán)限僅適用于所有者的執(zhí)行權(quán)限; 否則,它適用于所有人。 如果底層文件系統(tǒng)無法區(qū)分所有者的執(zhí)行權(quán)限和其他人的執(zhí)行權(quán)限,則該權(quán)限將適用于所有人,無論此值如何。

返回:

當(dāng)且僅當(dāng)操作成功時(shí)才為 true。 如果用戶無權(quán)更改此抽象路徑名的訪問權(quán)限,則操作將失敗。 如果 executable 為 false 并且底層文件系統(tǒng)沒有實(shí)現(xiàn)執(zhí)行權(quán)限,則操作將失敗。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)文件的寫訪問

Since:

1.6

setExecutable

public boolean setExecutable(boolean executable)

設(shè)置此抽象路徑名的所有者執(zhí)行權(quán)限的便捷方法。 在某些平臺(tái)上,可以使用允許它執(zhí)行未標(biāo)記為可執(zhí)行文件的特殊權(quán)限來啟動(dòng) Java 虛擬機(jī)。

調(diào)用這種形式為 file.setExcutable(arg) 的方法的行為與調(diào)用完全相同

     file.setExecutable(arg, true)

參數(shù):

參數(shù)名稱參數(shù)描述
executable如果為 true,則設(shè)置訪問權(quán)限以允許執(zhí)行操作; 如果為 false 則不允許執(zhí)行操作

返回:

當(dāng)且僅當(dāng)操作成功時(shí)才為 true。 如果用戶無權(quán)更改此抽象路徑名的訪問權(quán)限,則操作將失敗。 如果 executable 為 false 并且底層文件系統(tǒng)沒有實(shí)現(xiàn)執(zhí)行權(quán)限,則操作將失敗。

Throws:

Throw名稱Throw描述
SecurityException如果存在安全管理器并且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對(duì)文件的寫訪問

Since:

1.6

canExecute

public boolean canExecute()

測(cè)試應(yīng)用程序是否可以執(zhí)行此抽象路徑名表示的文件。 在某些平臺(tái)上,可以使用允許它執(zhí)行未標(biāo)記為可執(zhí)行文件的特殊權(quán)限來啟動(dòng) Java 虛擬機(jī)。 因此,即使文件沒有執(zhí)行權(quán)限,此方法也可能返回 true。

返回:

當(dāng)且僅當(dāng)抽象路徑名存在并且允許應(yīng)用程序執(zhí)行文件時(shí)才為 true

Throws:

Throw名稱Throw描述
SecurityException如果安全管理器存在并且其 SecurityManager.checkExec(java.lang.String) 方法拒絕執(zhí)行對(duì)文件的訪問

Since:

1.6

listRoots

public static File[] listRoots()

列出可用的文件系統(tǒng)根。

一個(gè)特定的 Java 平臺(tái)可能支持零個(gè)或多個(gè)分層組織的文件系統(tǒng)。每個(gè)文件系統(tǒng)都有一個(gè)根目錄,可以從該根目錄訪問該文件系統(tǒng)中的所有其他文件。例如,Windows 平臺(tái)為每個(gè)活動(dòng)驅(qū)動(dòng)器都有一個(gè)根目錄; UNIX 平臺(tái)有一個(gè)根目錄,即“/”??捎梦募到y(tǒng)根的集合受到各種系統(tǒng)級(jí)操作的影響,例如可移動(dòng)媒體的插入或彈出以及物理或虛擬磁盤驅(qū)動(dòng)器的斷開或卸載。

此方法返回一個(gè) File 對(duì)象數(shù)組,這些對(duì)象表示可用文件系統(tǒng)根目錄的根目錄。保證本地機(jī)器上物理存在的任何文件的規(guī)范路徑名都將以此方法返回的根之一開頭。

駐留在其他機(jī)器上并通過遠(yuǎn)程文件系統(tǒng)協(xié)議(如 SMB 或 NFS)訪問的文件的規(guī)范路徑名可能以也可能不以此方法返回的根之一開頭。如果遠(yuǎn)程文件的路徑名在語(yǔ)法上與本地文件的路徑名無法區(qū)分,那么它將以此方法返回的根之一開始。因此,例如,表示 Windows 平臺(tái)的映射網(wǎng)絡(luò)驅(qū)動(dòng)器的根目錄的 File 對(duì)象將由該方法返回,而包含 UNC 路徑名的 File 對(duì)象不會(huì)由該方法返回。

與此類中的大多數(shù)方法不同,此方法不會(huì)引發(fā)安全異常。如果存在安全管理器并且其 SecurityManager#checkRead(St
本文題目:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS File
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/dpeijoj.html