他のプロジェクト (プロジェクトの呼び出し元) からアクセスしたい .txt ファイルを含むプロジェクト (プロジェクト ソース) があります。呼び出し元はソースに依存しています。したがって、呼び出し元はソースを .jar として表示する必要があります。質問ですが、この .jar にアクセスして .txt ファイルを取得する必要がありますが、アクセスできません。私は次のように考えてみました: getClass().getResourceAsStream("classpath:/cc.txt"); InsputStream と getClass().getResource("cc.txt"); を使用 URLオブジェクトを使用していますが、常にnullを取得しました。私が読んだすべてのフォーラムは、このアクセス方法について語っています。.jar ファイルにアクセスして .txt ファイルを取得するにはどうすればよいですか? 皆さんありがとう!!
質問する
75 次
1 に答える
0
ZIP/JAR ファイルのコンテンツをプログラムで抽出します。jarFile が抽出される jar/zip ファイルであるとします。destDir は、抽出されるパスです。
java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);
java.util.Enumeration enum = jar.entries();
while (enum.hasMoreElements())
{
java.util.jar.JarEntry file = (java.util.jar.JarEntry) enum.nextElement();
java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());
if (file.isDirectory()) // if its a directory, create it
{
f.mkdir();
continue;
}
java.io.InputStream is = jar.getInputStream(file); // get the input stream
java.io.FileOutputStream fos = new java.io.FileOutputStream(f);
while (is.available() > 0) // write contents of 'is' to 'fos'
{
fos.write(is.read());
}
fos.close();
is.close();
}
于 2012-04-23T10:19:51.033 に答える