Как мне начать чтение из упакованного файла? - PullRequest
0 голосов
/ 24 августа 2011

У меня есть файл, который я упаковал в свой JAR-файл, но я не могу понять, как мне прочитать текстовый файл и сохранить его в переменной String.Любые идеи кто-нибудь?

Ответы [ 3 ]

2 голосов
/ 24 августа 2011
1 голос
/ 24 августа 2011

Этот подход будет работать для любого jar-файла, даже если его нет в вашем текущем проекте / library / classpath:

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();
}
0 голосов
/ 24 августа 2011

Вы можете использовать URLClassLoader для доступа к ресурсам в архиве JAR.

...