実行時に jar ファイルの URL が次のように取得されます。
jar:file:///C:/proj/parser/jar/parser.jar!/test.xml
これを次のように有効なパスに変換するにはどうすればよいでしょうか。
C:/proj/parser/jar/parser.jar.
、 、をすでに試してみましたがFile(URI)
、無駄でした。getPath()
getFile()
ベストアンサー1
MS-Windows が先頭のスラッシュを気にしないのであれば、次のようにすればうまくいくかもしれません:
final URL jarUrl =
new URL("jar:file:/C:/proj/parser/jar/parser.jar!/test.xml");
final JarURLConnection connection =
(JarURLConnection) jarUrl.openConnection();
final URL url = connection.getJarFileURL();
System.out.println(url.getFile());