ClassLoader.getResourceAsStream(...) を使用して実行可能な JAR ファイル自体からファイルを読み取ることは、私にとって既知の概念ですが、Java NIO を使用して同じことを行うにはどうすればよいでしょうか?
目標は、次のような機能を持つことです。
static String readFullyFromJar(String filename) {
final Path path = Paths.get(Main.class.getResource(fileName).toURI());
final byte[] bytes = Files.readAllBytes(path);
return new String(bytes, CHARSET_ASCII);
}
これは IDE では問題なく動作しますが、
java.nio.file.FileSystemNotFoundException
at com.sun.nio.zipfs.ZipFileSystemProvider.getFileSystem(ZipFileSystemProvider.java:171))
ターゲットファイルが正しい場所にあるにもかかわらず、実際のJARでこれを試してみると。