you should read from ZipInputStream :
StringBuilder s = new StringBuilder(); byte[] buffer = new byte[1024]; int read = 0; ZipEntry entry; while ((entry = zis.getNextEntry())!= null) { while ((read = zis.read(buffer, 0, 1024)) >= 0) { s.append(new String(buffer, 0, read)); } }
When you exit internal while save the contents of StringBuilder and reset it.
source share