如何从JAR存档中读取文件?

时间:2013-05-30 17:21:25

标签: java jar

我需要从/test/a.xml文件中读取test.jar的内容(它们都是变量,当然不是常量)。最简单的方法是什么?

File file = new File("test.jar");
String path = "/test/a.xml";
String content = // ... how?

2 个答案:

答案 0 :(得分:5)

这个怎么样:

JarFile file = new JarFile(new File("test.jar"));
JarEntry entry = file.getJarEntry("/test/a.xml");
String content = IOUtils.toString(file.getInputStream(entry));

答案 1 :(得分:2)

使用ZipInputStream并搜索您要求的文件。

FileInputStream fis = new FileInputStream(args[0]);
ZipInputStream zis =  new ZipInputStream(fis);
ZipEntry ze;

while ((ze = zis.getNextEntry()) != null)
   if(ze.getName().equals("/test/a.xml")
   {
       //use zis to read the file's content
   }