从源所在的另一个项目访问文件

时间:2012-04-23 10:09:59

标签: java

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

1 个答案:

答案 0 :(得分: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();
}

the same question can be found here...