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

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

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-02 14:46:11400ブラウズ

How to Get Relative Paths from Absolute URLs in Java?

Java で絶対 URL から相対パスを取得する

Java でパスを操作する場合、多くの場合、絶対パスを相対パスに変換する必要があります。指定されたベースパスに関して。これは、java.net.URI クラスによって提供される relativize() メソッドを使用して実現できます。

パスの例を考えてみましょう:

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

後者のパスを次のように使用して相対パスを作成するには、そのベースでは、次のことができます:

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

このコードは、絶対パスを URI に変換し、相対化して、結果のパスを抽出します。出力は次のようになります:

stuff/xyz.dat

特にファイル パスについては、Java 1.7 では java.nio.file.Path クラスに relativize() メソッドが導入されたことに注意してください。ファイル パスを使用する場合は、この方法を利用してより効率的なソリューションを実現できます。

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

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