File 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
檔案和目錄路徑名稱的抽象表示法。
[Android.Runtime.Register("java/io/File", DoNotGenerateAcw=true)]
public class File : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.IComparable
[<Android.Runtime.Register("java/io/File", DoNotGenerateAcw=true)>]
type File = class
inherit Object
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComparable
- 繼承
- 屬性
- 實作
備註
檔案和目錄路徑名稱的抽象表示法。
使用者介面和操作系統會使用系統相依 <的 em>pathname strings</em> 來命名檔案和目錄。 這個類別呈現階層式路徑名稱的抽象、與系統無關的檢視。 <em>抽象路徑名稱</em> 有兩個元件:
<ol><li> 選擇性的系統相依 <em>前置<詞/em> 字串串,例如磁碟驅動器規範, "/"
針對 UNIX 根目錄,或 "\\\\"
適用於 Microsoft Windows UNC 路徑名稱,且 <li> A 序列為零個或多個字元串 <em>name</em>。 </老>
抽象路徑名稱中的名字可能是目錄名稱,或者,如果是 Microsoft Windows UNC 路徑名稱,則為主機名。 抽象路徑名稱中的每個後續名稱都代表目錄;姓氏可能代表目錄或檔案。 <em>empty</em> abstract pathname 沒有前置詞和空的名稱序列。
將pathname字串轉換成抽象路徑名稱或從抽象路徑名稱原本就相依於系統。 當抽象路徑名稱轉換成pathname字串時,每個名稱都會以預設 <em>分隔符</em>的單一複本分隔。 默認名稱分隔符是由系統屬性 file.separator
所定義,而且可在公用靜態字段 {@link #separator}
和 {@link #separatorChar}
這個類別中使用。 當 pathname 字串轉換成抽象路徑名稱時,其內的名稱可能會以預設名稱分隔符或基礎系統支援的任何其他名稱分隔符分隔。
無論是抽象或字串格式的路徑名稱,可能是 em absolute/em 或 em relative</em>。><<><> 絕對路徑名稱已完成,因此不需要任何其他資訊,才能找出它所代表的檔案。 相反地,相對路徑名稱必須根據從其他路徑名稱取得的信息來解譯。 根據預設,封裝中的 java.io
類別一律會根據目前的用戶目錄解析相對路徑名稱。 此目錄是由系統屬性 user.dir
命名,而且通常是叫用 Java 虛擬機的目錄。
<叫用這個類別的 方法,可以取得#getParent
抽象路徑名稱的em>父</em>,並包含pathname的前置詞和路徑名稱序列中每個名稱,但最後一個除外。 每個目錄的絕對路徑名稱都是任何 File
具有絕對抽象路徑名稱的物件上階,其開頭為目錄的絕對路徑名稱。 例如,抽象路徑名稱 "/usr"
所表示的目錄是pathname "/usr/local/bin"
所表示目錄的上階。
前置詞概念可用來處理 UNIX 平臺上的根目錄,以及 Microsoft Windows 平臺上的磁碟驅動器規範、根目錄和 UNC 路徑名稱,如下所示:
<ul>
<li> 針對 UNIX 平台,絕對路徑名稱的前置詞一律 "/"
為 。 相對路徑名稱沒有前置詞。 表示根目錄的抽象路徑名稱具有前置 "/"
詞和空的名稱序列。
<li> For Microsoft Windows platform, the prefix of a pathname that contains a drive specifier contains of the drive letter ":"
followed "\\"
and if the pathname is absolute. UNC 路徑名稱的前置詞為 "\\\\"
;主機名和共用名稱是名稱序列中的前兩個名稱。 未指定磁碟驅動器的相對路徑名稱沒有前置詞。
</ul>
這個類別的實例可能或可能不代表實際的文件系統物件,例如檔案或目錄。 如果它確實表示這類物件,則該對象會位於 數據分割中。 分割區是檔案系統的作業系統特定記憶體部分。 單一儲存裝置 (例如實體磁碟驅動器、快快閃記憶體、CD-ROM) 可能包含多個分割區。 如果有的話,對象會位於此pathname絕對格式的一些上階所命名的分割區 「partName>」。
文件系統可能會在實際文件系統對象上實作特定作業的限制,例如讀取、寫入和執行。 這些限制統稱為 訪問許可權。 檔系統在單一物件上可能會有多個訪問許可權集。 例如,一組可能會套用至對象的 擁有者,而另一個集合可能套用至所有其他使用者。 對象的訪問許可權可能會導致此類別中的某些方法失敗。
類別的實例是不可變的;也就是說,一旦建立之後,物件所File
代表的File
抽象路徑名稱永遠不會變更。
<h3>與 java.nio.file
套件</h3 的互操作性>
<c>java.nio.file</c> 套件會定義 Java 虛擬機器的介面和類別,以存取檔案、檔案屬性和文件系統。 此 API 可用來克服 類別的許多限制 java.io.File
。 #toPath toPath
方法可用來取得 Path
,這個方法會使用 物件所表示的File
抽象路徑來尋找檔案。 結果 Path
可與 類別搭配 java.nio.file.Files
使用,以提供對其他檔案作業、檔案屬性和 I/O 例外狀況的更有效率且廣泛的存取權,以協助診斷檔案上的作業失敗時的錯誤。
將檔名傳送至作業系統時,Android 字串會轉換成 UTF-8 位元組序列,而操作系統傳回的位元組序列會從各種 list
方法 (,) 透過譯碼為 UTF-8 位元組序列來轉換成字元串。
已在 JDK1.0 中新增。
此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據 中所述的詞彙使用。
建構函式
File(File, String) |
從父抽象路徑名稱和子路徑名稱字串建立新的 |
File(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時所使用的建構函式;由運行時間呼叫。 |
File(String) |
將指定的pathname字串轉換成抽象路徑名稱,以建立新的 |
File(String, String) |
從父路徑名稱字串和子路徑名稱字串建立新的 |
File(URI) |
將指定的 |
屬性
AbsoluteFile |
傳回這個抽象路徑名稱的絕對形式。 |
AbsolutePath |
傳回這個檔案的絕對路徑。 |
CanonicalFile |
傳回這個抽象路徑名稱的正式形式。 |
CanonicalPath |
傳回這個抽象路徑名稱的標準路徑名稱字串。 |
Class |
傳回這個 |
FreeSpace |
傳回這個抽象路徑名稱所命名之分割區中未配置位元組的數目。 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
IsAbsolute |
測試這個抽象路徑名稱是否為絕對。 |
IsDirectory |
測試這個抽象路徑名稱所表示的檔案是否為目錄。 |
IsFile |
測試這個抽象路徑名稱所表示的檔案是否為一般檔案。 |
IsHidden |
測試這個抽象路徑名稱所命名的檔案是否為隱藏的檔案。 |
JniIdentityHashCode |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
JniPeerMembers |
檔案和目錄路徑名稱的抽象表示法。 |
Name |
傳回這個抽象路徑名稱所表示的檔案或目錄名稱。 |
Parent |
傳回這個抽象路徑名稱父代的路徑名稱字串,如果這個路徑名稱未命名父目錄,則 |
ParentFile |
傳回這個抽象路徑名稱父系的抽象路徑名稱,如果這個路徑名稱未命名父目錄,則 |
Path |
將此抽象路徑名稱轉換成pathname字串。 |
PathSeparator |
系統相依路徑分隔符,以字串表示以方便起見。 |
PathSeparatorChar |
系統相依路徑分隔符。 |
PeerReference |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
Separator |
系統相依的預設名稱分隔符,以字串表示以方便起見。 |
SeparatorChar |
系統相依的預設名稱分隔符。 |
ThresholdClass |
此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式代碼使用。 |
ThresholdType |
此 API 支援 Mono for Android 基礎結構,並不適合直接從您的程式代碼使用。 |
TotalSpace |
傳回這個抽象路徑名稱所命名的數據分割大小。 |
UsableSpace |
傳回這個抽象路徑名稱所命名之數據分割上這個虛擬機可用的位元組數目。 |
方法
CanExecute() |
測試應用程式是否可以執行這個抽象路徑名稱所表示的檔案。 |
CanRead() |
測試應用程式是否可以讀取這個抽象路徑名稱所表示的檔案。 |
CanWrite() |
測試應用程式是否可以修改這個抽象路徑名稱所表示的檔案。 |
Clone() |
建立並傳回這個 對象的複本。 (繼承來源 Object) |
CompareTo(File) |
比較兩個抽象路徑名稱語彙。 |
CreateNewFile() |
如果具有這個名稱的檔案尚未存在,則以不可部分完成的方式建立這個抽象路徑名稱所命名的新空白檔案。 |
CreateTempFile(String, String) |
使用指定的前置詞和後綴,在預設臨時文件目錄中建立空的檔案,以產生其名稱。 |
CreateTempFile(String, String, File) |
使用指定的前置詞和後綴字串,在指定的目錄中建立新的空白檔案,以產生其名稱。 |
Delete() |
刪除這個抽象路徑名稱所表示的檔案或目錄。 |
DeleteOnExit() |
要求當虛擬機終止時,刪除這個抽象路徑名稱所表示的檔案或目錄。 |
Dispose() |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
Dispose(Boolean) |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
Equals(Object) |
指出其他物件是否「等於」這個物件。 (繼承來源 Object) |
Exists() |
測試這個抽象路徑名稱所表示的檔案或目錄是否存在。 |
GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
JavaFinalize() |
當垃圾收集判斷對象沒有其他參考時,由物件上的垃圾收集行程呼叫。 (繼承來源 Object) |
LastModified() |
傳回上次修改這個抽象路徑名稱所表示檔案的時間。 |
Length() |
傳回這個抽象路徑名稱所表示的檔案長度。 |
List() |
傳回字串陣列,此字串會命名這個抽象路徑名稱所表示之目錄中的檔案和目錄。 |
List(IFilenameFilter) |
傳回字串陣列,此字串會命名此抽象路徑名稱所表示之目錄中的檔案和目錄,以滿足指定的篩選條件。 |
ListAsync() |
檔案和目錄路徑名稱的抽象表示法。 |
ListAsync(IFilenameFilter) |
檔案和目錄路徑名稱的抽象表示法。 |
ListFiles() |
傳回抽象路徑名稱的陣列,表示這個抽象路徑名稱所表示之目錄中的檔案。 |
ListFiles(IFileFilter) |
傳回抽象路徑名稱的陣列,這個抽象路徑名稱表示這個抽象路徑名稱所表示之目錄中的檔案和目錄,滿足指定的篩選條件。 |
ListFiles(IFilenameFilter) |
傳回抽象路徑名稱的陣列,這個抽象路徑名稱表示這個抽象路徑名稱所表示之目錄中的檔案和目錄,滿足指定的篩選條件。 |
ListFilesAsync() |
檔案和目錄路徑名稱的抽象表示法。 |
ListFilesAsync(IFileFilter) |
檔案和目錄路徑名稱的抽象表示法。 |
ListFilesAsync(IFilenameFilter) |
檔案和目錄路徑名稱的抽象表示法。 |
ListRoots() |
傳回檔案系統根目錄。 |
ListRootsAsync() |
檔案和目錄路徑名稱的抽象表示法。 |
Mkdir() |
建立這個抽象路徑名稱所命名的目錄。 |
Mkdirs() |
建立這個抽象路徑名稱所命名的目錄,包括任何必要但不存在的父目錄。 |
Notify() |
喚醒正在等候此物件的監視器的單一線程。 (繼承來源 Object) |
NotifyAll() |
喚醒正在等候此物件監視器的所有線程。 (繼承來源 Object) |
RenameTo(File) |
重新命名這個抽象路徑名稱所表示的檔案。 |
SetExecutable(Boolean) |
方便的方法,可設定這個抽象路徑名稱的擁有者執行許可權。 |
SetExecutable(Boolean, Boolean) |
設定這個抽象路徑名稱的擁有者或每個人的執行許可權。 |
SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
SetLastModified(Int64) |
設定這個抽象路徑名稱所命名之檔案或目錄的上次修改時間。 |
SetReadable(Boolean) |
為這個抽象路徑名稱設定擁有者讀取許可權的便利方法。 |
SetReadable(Boolean, Boolean) |
設定這個抽象路徑名稱的擁有者或每個人的讀取許可權。 |
SetReadOnly() |
標記這個抽象路徑名稱所命名的檔案或目錄,以便只允許讀取作業。 |
SetWritable(Boolean) |
為這個抽象路徑名稱設定擁有者寫入許可權的便利方法。 |
SetWritable(Boolean, Boolean) |
設定這個抽象路徑名稱的擁有者或每個人的寫入許可權。 |
ToArray<T>() |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
ToPath() |
|
ToString() |
傳回物件的字串表示。 (繼承來源 Object) |
ToURI() |
|
ToURL() |
已淘汰.
將此抽象路徑名稱轉換成 |
UnregisterFromRuntime() |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
Wait() |
讓目前的線程等到喚醒為止,通常是藉由 <em>notified</em> 或 <em>interrupted</em> 來喚醒。 (繼承來源 Object) |
Wait(Int64) |
讓目前的線程等到喚醒為止,通常是<透過em>notified</em或em>interrupted</em>>,或<直到經過一定數量的實時為止。 (繼承來源 Object) |
Wait(Int64, Int32) |
讓目前的線程等到喚醒為止,通常是<透過em>notified</em或em>interrupted</em>>,或<直到經過一定數量的實時為止。 (繼承來源 Object) |
明確介面實作
IComparable.CompareTo(Object) |
檔案和目錄路徑名稱的抽象表示法。 |
IJavaPeerable.Disposed() |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
檔案和目錄路徑名稱的抽象表示法。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
檔案和目錄路徑名稱的抽象表示法。 |
GetJniTypeName(IJavaPeerable) |
檔案和目錄路徑名稱的抽象表示法。 |