jar から jar URL だけを取得するにはどうすればいいですか: URL に「!」と jar 内の特定のファイルが含まれていますか? 質問する

jar から jar URL だけを取得するにはどうすればいいですか: URL に「!」と jar 内の特定のファイルが含まれていますか? 質問する

実行時に 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());

おすすめ記事