簡體   English   中英

Java解析相對路徑

[英]Java Resolve Relative Path

您將如何解決相對路徑? 我正在尋找的是一個類似於 php 的 realpath 的函數。 該函數只需要刪除所有 ../ ./ 以便輸入字符串可以安全地與其他字符串一起使用。

一般的方法是使用 File 類的getCanonicalPath()方法。
專門記錄刪除(解析)您正在尋找的.././

從文檔中摘錄:

如果需要,此方法首先將此路徑名轉換為絕對形式[...],然后以依賴於系統的方式將其映射到其唯一形式。 這通常涉及刪除冗余名稱,例如“。” 和路徑名中的“..” ,解析符號鏈接(在 UNIX 平台上),並將驅動器號轉換為標准大小寫(在 Microsoft Windows 平台上)。

既然你提到了 PHP,我將假設一個網絡上下文。 使用 Servlet API,您可以使用servletContext.getRealPath(relativePath)獲得與相對路徑相對應的真實路徑

在 Web 上下文之外,您可以使用file.getAbsolutePath() ,其中file是使用相對路徑構造的java.io.File

我知道它還沒有投入生產,但在 Java 7 中,人們會調用Path.resolve(Path)

只是一個提示。

暫無
暫無

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

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