JarInputStream is = new JarInputStream(new FileInputStream("your/jar/file.jar"));
JarEntry obj = null
while ((obj = is.getNextJarEntry()) != null) {
JarEntry entry = (JarEntry)obj;
if (entry.getName().equals("file.abc")) {
ByteArrayOutputStream baos = new ByetArrayOutputStream();
IOUtils.copy(jarFile.getInputStream(entry), baos);
String contents = new String(baos.toByteArray(), "utf-8");
// your entry is now read into contents
}
}
2条答案
按热度按时间hmmo2u0o1#
w80xi6nr2#
在manifest.mf中,使用类路径键和以空格分隔的文件列表定义类路径,如下所示:
文件根目录下的manifest.mf。
如果jar文件名中有空格,应该用引号括起来。
如果它是一个webapp,那么reports路径应该在类路径的boot-inf子目录中——如果将它放在标准布局的src/main/resources中,这将由maven自动执行。
编辑:
既然你已经澄清了你要做的事情,你有两种方法。就像我上面说的,你可以从你的webapp的boot inf子目录中获取文件,或者你可以枚举jar中的条目,直到找到你想要的: