首頁 > Java > java教程 > 如何在Java中從兩個絕對路徑產生相對路徑?

如何在Java中從兩個絕對路徑產生相對路徑?

DDD
發布: 2024-12-07 00:40:15
原創
251 人瀏覽過

How to Generate a Relative Path from Two Absolute Paths in Java?

從兩個絕對路徑建立相對路徑

給定兩個絕對路徑,例如:

/var/data/stuff/xyz.dat
/var/data
登入後複製

如何我們產生一個從第二條路徑開始的相對路徑?例如,上述路徑的所需輸出為:

./stuff/xyz.dat
登入後複製

使用URI 的解

一種方法利用URI 類,它提供了一個relativize 方法來處理這樣的轉換:

String path = "/var/data/stuff/xyz.dat";
String base = "/var/data";

// Convert the paths to URIs
URI pathURI = new File(path).toURI();
URI baseURI = new File(base).toURI();

// Obtain the relative URI
URI relativeURI = pathURI.relativize(baseURI);

// Extract the relative path
String relativePath = relativeURI.getPath();
// relativePath == "stuff/xyz.dat"
登入後複製

注意:對於檔案路徑具體來說,Java 1.7 及更高版本在 java.nio.file.Path 介面上提供了 relativize 方法,如@Jirka Meluzin 所建議。

以上是如何在Java中從兩個絕對路徑產生相對路徑?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板