Java プログラムメモ


トップ

URI で相対パスを使う

java.io.File では相対パスを文字列 (String) としてしか扱えません。

File parent = new File("C:/work"); File fullpath = new File(parent, "java/HelloWorld.java"); --------------------------------------------------- C:/work/java/HelloWorld.java
ここで、java.net.URI を利用すると、相対パスも URI のインスタンスとして存在してます。 URI のメソッドが使えるのでかなり便利になります。
フルパスの作成
URI parent = new URI("file:///C:/work/"); URI relative = new URI("java/HelloWorld.java"); URI fullpath = parent.resolve(parent.relativize(relative)); --------------------------------------------------- file:///C:/work/java/HelloWorld.java
絶対がパスか検査する。
URI relative = new URI("java/HelloWorld.java"); relative.isAbsolute(); --------------------------------------------------- false
パスを正規化する。
URI relative = new URI("java/.././HelloWorld.java"); System.out.println(relative.normalize()); --------------------------------------------------- HelloWorld.java


プログラムメモ アフリカ雑貨・珈琲豆・アールブリュット作品 マゴソスクール クラウドファンディング
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送