IPath 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一個可用於在檔案系統中定位檔案的物件。
[Android.Runtime.Register("java/nio/file/Path", "", "Java.Nio.FileNio.IPathInvoker", ApiSince=26)]
public interface IPath : IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable, Java.Lang.IIterable, Java.Nio.FileNio.IWatchable
[<Android.Runtime.Register("java/nio/file/Path", "", "Java.Nio.FileNio.IPathInvoker", ApiSince=26)>]
type IPath = interface
interface IComparable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IIterable
interface IWatchable
- 屬性
- 實作
備註
一個可用於在檔案系統中定位檔案的物件。 它通常會代表系統相關的檔案路徑。
A Path 代表一條階層式路徑,由一連串目錄和檔案名稱元素組成,並以特殊的分隔符或分隔符分隔。
<也可能存在一個 em>根元件</em>,用以識別檔案系統階層結構。 位於目錄階層根節點 em<> 的最遠/em< 的名稱>元素,是檔案或目錄的名稱。 其他名稱元素是目錄名稱。 A Path 可以代表一個根、一個根和一串名稱,或簡單地表示一個或多個名稱元素。 若 A Path 僅包含一個空的名稱元素,則該 路徑被視為空路徑 。 使用 空路徑 存取檔案等同於存取檔案系統的預設目錄。
Path 定義 #getFileName() getFileName了 、 #getParent getParent、 #getRoot getRoot,以及 #subpath subpath 存取路徑組件或其名稱元素子序列的方法。
除了存取路徑的組件外,a Path 也定義 #resolve(Path) resolve 了 和 #resolveSibling(Path) resolveSibling 方法來結合路徑。
#relativize relativize這種方法可以用來構建兩條路徑之間的相對路徑。 路徑可以是 #compareTo compared,並用 #startsWith startsWith 和 #endsWith endsWith 方法相互測試。
此介面擴展 Watchable 介面,使得路由定位的目錄可以包含 #register registered a WatchService 和 目錄中的項目。
<b>警告:</b> 此介面僅供開發自訂檔案系統實作者實作。 未來版本可能會在此介面新增方法。
<h2>存取檔案</h2>
路徑可與類別一起使用 Files ,以操作檔案、目錄及其他類型的檔案。 例如,假設我們想 java.io.BufferedReader 從一個檔案「access.log」讀取文字。 該檔案位於相對於目前工作目錄的「」目錄logs中,並採用 UTF-8 編碼。
Path path = FileSystems.getDefault().getPath("logs", "access.log");
BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8);
「互通性」><h2>互通性</h2>
與預設 java.nio.file.spi.FileSystemProvider provider 相關聯的路徑通常與類別互 java.io.File java.io.File 通。 由其他提供者建立的路徑通常不太可能與 所 java.io.File代表的抽象路徑名稱互通。 此java.io.File#toPath toPath方法可用於從物件Path所代表的抽象路徑名稱中取得 ajava.io.File。 所得結果 Path 可用於操作與物件相同的 java.io.File 檔案。 此外,此#toFile toFile方法有助於從 File 的表示String構造 aPath。
<h2>並行</h2>
此介面的實作是不可變且安全,適合多個並行執行緒使用。
在 1.7 版本中加入。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
屬性
| 名稱 | Description |
|---|---|
| FileName |
回傳此路徑所標記的檔案或目錄名稱,稱為 Path 物件。 |
| FileSystem |
回傳創建此物件的檔案系統。 |
| Handle |
取得底層 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
| IsAbsolute |
說明這條路是否絕對。 |
| JniIdentityHashCode |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
一個可用於在檔案系統中定位檔案的物件。 (繼承來源 IJavaPeerable) |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| NameCount |
回傳路徑中名稱元素的數量。 |
| Parent |
回傳父路徑,若該路徑沒有父路徑則為 null。 |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
| Root |
回傳此路徑的根元件為 Path 物件,若該路徑沒有根元件則為 null。 |
方法
| 名稱 | Description |
|---|---|
| CompareTo(IPath) |
以字典序方式比較兩條抽象路徑。 |
| CompareTo(Object) |
將此物件與指定的物件比較排序。 (繼承來源 IComparable) |
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| EndsWith(IPath) |
測試該路徑是否以該路徑結束。 |
| EndsWith(String) |
測試此路徑是否以 |
| Equals(Object) |
測試此路徑是否與給定物件相等。 |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| ForEach(IConsumer) |
對每個元素 |
| GetHashCode() |
計算此路徑的雜湊碼。 |
| GetName(Int32) |
會以物件形式回傳此路徑 |
| Iterator() |
回傳該路徑名稱元素的迭代器。 |
| Normalize() |
回傳一條路徑,該路徑已刪除冗餘名稱元素。 |
| Of(String, String[]) |
透過轉換路徑字串,或一串字串,連接起來形成路徑字串,回傳路徑。 |
| Of(URI) |
透過轉換 URI 回傳 a |
| Register(IWatchService, IWatchEventKind[], IWatchEventModifier[]) |
透過監視服務註冊該路徑上的檔案。 |
| Register(IWatchService, IWatchEventKind[]) |
透過監視服務註冊該路徑上的檔案。 |
| Relativize(IPath) |
構造一條路徑與給定路徑之間的相對路徑。 |
| Resolve(IPath) |
用這條路徑來解決給定路徑。 |
| Resolve(String) |
將給定路徑字串轉換為 a |
| ResolveSibling(IPath) |
將給定路徑與該路徑 |
| ResolveSibling(String) |
將給定的路徑字串轉換為 a |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
一個可用於在檔案系統中定位檔案的物件。 (繼承來源 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| Spliterator() |
在由此 |
| StartsWith(IPath) |
測試這條路徑是否從給定路徑開始。 |
| StartsWith(String) |
測試此路徑是否以 開始, |
| Subpath(Int32, Int32) |
回傳一個 |
| ToAbsolutePath() |
回傳 |
| ToFile() |
回傳 |
| ToRealPath(LinkOption[]) |
回傳 <現有檔案的 em>real</em> 路徑。 |
| ToString() |
回傳此路徑的字串表示。 |
| ToUri() |
回傳一個 URI 來代表這條路徑。 |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一個可用於在檔案系統中定位檔案的物件。 |
| ToEnumerable(IIterable) |
回傳 和 IEnumerable ,會對 Java IIterable進行迭代,允許 |
| ToEnumerable<T>(IIterable) |
回傳 和 IEnumerable<T> ,該 在 Java IIterable上迭代,將每個元素 集結為 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |