我有两个 jar 文件。通常,如果我想从我的 jar 文件中“解包”资源,我会选择:
InputStream in = MyClass.class.getClassLoader().getResourceAsStream(name);
byte[] buffer = new byte[1024];
int read = -1;
File temp2 = new File(new File(System.getProperty("user.dir")), name);
FileOutputStream fos2 = new FileOutputStream(temp2);
while((read = in.read(buffer)) != -1) {
fos2.write(buffer, 0, read);
}
fos2.close();
in.close();
如果我在同一个目录中有另一个 JAR 文件怎么办?我可以以类似的方式访问第二个 JAR 文件资源吗?第二个 JAR 没有运行,所以没有自己的类加载器。是解压缩第二个 JAR 文件的唯一方法吗?