0

我有一个带有 .txt 文件的项目(项目源),我想从其他项目(项目调用者)访问该文件。调用者对源有依赖性。所以调用者应该将源代码视为 .jar。好吧,问题是,我必须访问这个 .jar 才能获取 .txt 文件,但我不能。我试过这样的想法:getClass().getResourceAsStream("classpath:/cc.txt"); 使用 InsputStream 和 getClass().getResource("cc.txt"); 使用 URL 对象,但我总是得到一个空值。我读过的所有论坛都谈到了这种访问方式。如何访问 .jar 文件以获取 .txt 文件?谢谢大家!!

4

1 回答 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 回答