あなたはJDK 1.7またはJDK 1.8を使用している場合は、NIO.2のAPIを使用する場合があります。あなたがjava.nio.file.FileSystemを返すメソッドにこのコードを入力した場合
for (FileSystemProvider provider : FileSystemProvider.installedProviders()) {
if ("jar".equals(provider.getScheme()))
return provider.newFileSystem((new File(Start.class
.getProtectionDomain().getCodeSource().getLocation().toURI()))
.toPath(), new HashMap<String, Object>());
}
は、あなたがJARファイルのファイルシステムを取得するメソッドを呼び出すことができます。
JARファイル内のファイルにアクセスするためのパスを取得するには、あなたは、あなたがしたいことがファイルを読み取ることができます以下の方法を、使用することができます。
fileSystem.getPath("/images/image.gif")
あなたはのtry/catchのIOExceptionとメソッドの呼び出しを囲み、ファイルシステムは、以下のオブジェクトに割り当てることを確認し、Eclipseでこれを実行できるようにしたい場合 。
new File(Start.class.getProtectionDomain().getCodeSource().getLocation().toURI())
.toPath().toString();
これにより、プログラムがJARファイルに圧縮されているかどうかにかかわらず、プログラムを実行できます。
これは非常に強力なAPIなので、NIO.2を使用することをお勧めします。
さて、最初の問題は、Eclipseを使用してJARに取り込む方法がわからないことです。あなたは私にそれを説明することができますか? – Chiubaka
クラスパスに配置します。だから、Eclipseのソースフォルダを見つけてそれを入れてください。またはそれらのフォルダがあれば、右クリックして[追加]をクリックしてパスを構築してください – Steven