簡體   English   中英

Path.resolve(其他)java.nio.file.Path方法

[英]Path.resolve(other) java.nio.file.Path method

直接來自此API

解決

路徑解析(路徑其他)

根據此路徑解析給定路徑。

如果另一個參數是絕對路徑,則此方法通常會 返回其他參數。 如果other是空路徑,則此方法通常會返回此路徑。 否則,此方法將此路徑視為目錄,並針對此路徑解析給定路徑。 在最簡單的情況下,給定路徑沒有根組件,在這種情況下,此方法將給定路徑連接到此路徑,並返回以給定路徑結束的結果路徑。 在給定路徑具有 根組件的情況下,解決方案高度依賴於實現 ,因此未指定。

(強調我的)

這里有一點矛盾,首先他們說:

  1. 如果另一個參數是絕對路徑,則此方法通常會返回其他參數。

    然后他們說:

  2. 在給定路徑具有根組件的情況下,解決方案高度依賴於實現,因此未指定。

絕對路徑是否必須包含根組件才能成為這樣的組件? 提前致謝。

對你的問題的簡短回答是否定的,絕對路徑不需要有根組件,但是,取決於提供者,它可能。

如果我們查看UnixPath源代碼 ,我們確實看到,如果它是一個絕對路徑,那么它將返回一個根組件,如果它是一個絕對路徑,它將只返回一個根組件。

但是,並不要求以這種方式實施。 理論上至少,getRoot()可以返回一些東西,而isAbsolute()則返回false。 在此,結果是不確定的。 或者,將其放在真值圖表格中:

Result of resolve() when:
                     getRoot()==null  getRoot()!=null
isAbsolute()==true   defined          defined
isAbsolute()==false  defined          undefined

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM