ホームページ >Java >&#&チュートリアル >Javaで絶対パスから相対パスを構築するにはどうすればよいですか?

Javaで絶対パスから相対パスを構築するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-08 04:56:10916ブラウズ

How to Construct Relative Paths from Absolute Paths in Java?

Java で絶対パスから相対パスを構築する

Java で絶対パスを使用する場合、別の絶対パスに基づく相対パス。この記事では、URI クラスとその相対化メソッドを使用してこれを実現する方法を示します。

次の 2 つの絶対パスについて考えます。

/var/data/stuff/xyz.dat
/var/data

2 番目のパスをそのパスとして使用する相対パスを作成するには基本的には、次の手順に従います。

  1. File クラスと toURI を使用して、両方の絶対パスを URI に変換します。
  2. ベース パスを表す URI で相対化メソッドを呼び出し、絶対パスを表す URI に渡します。
  3. 結果の URI からパス コンポーネントを取得して、相対パスを取得します。

コード スニペットの例を次に示します。

String path = "/var/data/stuff/xyz.dat";
String base = "/var/data";
String relative = new File(base).toURI().relativize(new File(path).toURI()).getPath();
// relative == "stuff/xyz.dat"

このコードは、 「stuff/xyz.dat」の相対パス。これが望ましい結果です。

ファイル パスについては、Java 1.7 で Path#relativize メソッドが導入されており、この目的にも使用できることは注目に値します。

以上がJavaで絶対パスから相対パスを構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。