語言

IPath 介面

定義

一個可用於在檔案系統中定位檔案的物件。

[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 版本中加入。

Java 文件 java.nio.file.Path。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

屬性

名稱 Description
FileName

回傳此路徑所標記的檔案或目錄名稱,稱為 Path 物件。

FileSystem

回傳創建此物件的檔案系統。

Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
IsAbsolute

說明這條路是否絕對。

JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
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()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
EndsWith(IPath)

測試該路徑是否以該路徑結束。

EndsWith(String)

測試此路徑是否以 Path,該路徑是透過轉換給定路徑字串,完全按照方法指定 #endsWith(Path) endsWith(Path) 的方式來構造。

Equals(Object)

測試此路徑是否與給定物件相等。

Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
ForEach(IConsumer)

對每個元素 Iterable 執行指定動作,直到所有元素都處理完畢或動作拋出異常。

(繼承來源 IIterable)
GetHashCode()

計算此路徑的雜湊碼。

GetName(Int32)

會以物件形式回傳此路徑 Path 的名稱元素。

Iterator()

回傳該路徑名稱元素的迭代器。

Normalize()

回傳一條路徑,該路徑已刪除冗餘名稱元素。

Of(String, String[])

透過轉換路徑字串,或一串字串,連接起來形成路徑字串,回傳路徑。

Of(URI)

透過轉換 URI 回傳 a Path 。

Register(IWatchService, IWatchEventKind[], IWatchEventModifier[])

透過監視服務註冊該路徑上的檔案。

Register(IWatchService, IWatchEventKind[])

透過監視服務註冊該路徑上的檔案。

Relativize(IPath)

構造一條路徑與給定路徑之間的相對路徑。

Resolve(IPath)

用這條路徑來解決給定路徑。

Resolve(String)

將給定路徑字串轉換為 aPath,並以方法指定Path的方式對其解析#resolve(Path) resolve。

ResolveSibling(IPath)

將給定路徑與該路徑 #getParent parent 的路徑相較。

ResolveSibling(String)

將給定的路徑字串轉換為 aPath,並以該#getParent parent路徑路徑的正確方式解析該路徑#resolveSibling(Path) resolveSibling。

SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

一個可用於在檔案系統中定位檔案的物件。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference。

(繼承來源 IJavaPeerable)
Spliterator()

在由此Spliterator描述的元素上建立 a Iterable 。

(繼承來源 IIterable)
StartsWith(IPath)

測試這條路徑是否從給定路徑開始。

StartsWith(String)

測試此路徑是否以 開始, Path該路徑是透過轉換給定路徑字串,且完全符合方法指定 #startsWith(Path) startsWith(Path) 方式。

Subpath(Int32, Int32)

回傳一個 Path 關係,該關係是該路徑名稱元素的子序列。

ToAbsolutePath()

回傳 Path 一個代表該路徑絕對路徑的物件。

ToFile()

回傳 File 一個代表此路徑的物件。

ToRealPath(LinkOption[])

回傳 <現有檔案的 em>real</em> 路徑。

ToString()

回傳此路徑的字串表示。

ToUri()

回傳一個 URI 來代表這條路徑。

UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一個可用於在檔案系統中定位檔案的物件。

ToEnumerable(IIterable)

回傳 和 IEnumerable ,會對 Java IIterable進行迭代,允許 foreach 和 LINQ 與 Java 集合類型一起使用。 每個元素都會從其 Java 實例編組到對應的受管理型別。

ToEnumerable<T>(IIterable)

回傳 和 IEnumerable<T> ,該 在 Java IIterable上迭代,將每個元素 集結為 T。 這使得 foreach LINQ 可以搭配 Java 集合類型一起使用。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於