Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to read content of the Zipped file without extracting in java

Tags:

java

zip

unzip

I have file with names like ex.zip. In this example, the Zip file contains only one file with the same name(ie. `ex.txt'), which is quite large. I don't want to extract the zip file every time.Hence I need to read the content of the file(ex.txt) without extracting the zip file. I tried some code like below But i can only read the name of the file in the variable.

How do I read the content of the file and stores it in the variable?

Thank you in Advance

fis=new FileInputStream("C:/Documents and Settings/satheesh/Desktop/ex.zip");
ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
ZipEntry entry;

while((entry = zis.getNextEntry()) != null) {
    i=i+1; 
    System.out.println(entry);
    System.out.println(i);
    //read from zis until available
}
like image 571
satheesh kumar Avatar asked Feb 08 '13 18:02

satheesh kumar


1 Answers

Try this:

        ZipFile fis = new ZipFile("ex.zip");

        int i = 0;
        for (Enumeration e = zip.entries(); e.hasMoreElements();) {
            ZipEntry entry = (ZipEntry) e.nextElement();
            System.out.println(entry);
            System.out.println(i);

            InputStream in = fis.getInputStream(entry);

        }

For example, if the file contains text, and you want to print it as a String, you can read the InputStream like this: Read/convert an InputStream to a String

like image 192
user000001 Avatar answered Nov 14 '22 21:11

user000001