You need to iterate over the ZipEntries of the ZipInputStream.
Something like this:
ZipEntry entry;
while((entry=zis.getNextEntry())!=null){
//if we could gather the next zip entry, now, the zip input stream will allow reading the data associated to the current entry (i.e. the current file)...
// so just call zis.read(...)
// you may call entry.getName() and entry.getSize() to get the file name of the current file and its size.
}
zis.close();
So, you should iterate the zip entries, check with getName() whether it is the entry you want to read. Then, (assuming the file is not too big), create a byte array of length equal to entry.getSize(),
read with zis.read(...) the file content to the byte array, and finally write it to the output stream.