Here you can find the source of unzip(final byte[] zippedContent)
public static Map<String, byte[]> unzip(final byte[] zippedContent) throws IOException
//package com.java2s; /**//w w w.j av a2s . c o m * Copyright (C) 2015 BonitaSoft S.A. * BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble * This library is free software; you can redistribute it and/or modify it under the terms * of the GNU Lesser General Public License as published by the Free Software Foundation * version 2.1 of the License. * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public License along with this * program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth * Floor, Boston, MA 02110-1301, USA. **/ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; public class Main { public static Map<String, byte[]> unzip(final byte[] zippedContent) throws IOException { final ZipInputStream zis = new ZipInputStream(new ByteArrayInputStream(zippedContent)); final Map<String, byte[]> resources = new HashMap<String, byte[]>(); try { ZipEntry entry = zis.getNextEntry(); while (entry != null) { final ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { int len; final byte[] buffer = new byte[1024]; while ((len = zis.read(buffer)) > 0) { baos.write(buffer, 0, len); } } finally { baos.close(); } resources.put(entry.getName(), baos.toByteArray()); entry = zis.getNextEntry(); } } finally { zis.closeEntry(); zis.close(); } return resources; } }