我如何从打包文件中读取?

时间:2011-08-24 00:44:24

标签: java file jar package

我有一个文件,我打包在我的JAR文件中,但我无法弄清楚如何读取文本文件并将其存储到String变量中。 任何人的想法?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

这种方法适用于任何jar文件,即使它不在你当前的项目/库/类路径中:

String myJarFilename ="C:\\path\\to\\myfile.jar";
JarFile jarFile = new JarFile(myJarFilename);
JarEntry jarEntry = jarFile.getJarEntry("mytextfile.txt");

if (jarEntry != null)
{
    InputStream is = jarFile.getInputStream(jarEntry);
    // do normal stuff here to read string from inputstream

    InputStreamReader isr = new InputStreamReader(is);
    byte[] charArr = new byte[2048];
    int bytesRead = 0;
    StringBuffer sb = new StringBuffer();
    while (bytesRead = is.read(charArr, 0, 2048) > 0)
    {
        sb.append(charArr, 0, bytesRead);            
    }
    String fileContent = sb.toString();
}

答案 2 :(得分:0)

您可以使用URLClassLoader访问JAR存档中的资源。