List of usage examples for java.util.zip ZipEntry getName
public String getName()
From source file:au.com.jwatmuff.eventmanager.util.ZipUtils.java
public static void unzipFile(File destFolder, File zipFile) throws IOException { ZipInputStream zipStream = null; try {/*from w w w. j a v a 2s. c o m*/ if (!destFolder.exists()) { destFolder.mkdirs(); } BufferedInputStream in = new BufferedInputStream(new FileInputStream(zipFile)); zipStream = new ZipInputStream(in); ZipEntry entry; while ((entry = zipStream.getNextEntry()) != null) { // get output file String name = entry.getName(); if (name.startsWith("/") || name.startsWith("\\")) name = name.substring(1); File file = new File(destFolder, name); // ensure directory exists File dir = file.getParentFile(); if (!dir.exists()) dir.mkdirs(); IOUtils.copy(zipStream, new FileOutputStream(file)); } } finally { if (zipStream != null) zipStream.close(); } }
From source file:de.rub.syssec.saaf.analysis.steps.extract.ApkUnzipper.java
/** * Extracts the given archive into the given destination directory * /*w ww.j a v a2 s . c o m*/ * @param archive * - the file to extract * @param dest * - the destination directory * @throws Exception */ public static void extractArchive(File archive, File destDir) throws IOException { if (!destDir.exists()) { destDir.mkdir(); } ZipFile zipFile = new ZipFile(archive); Enumeration<? extends ZipEntry> entries = zipFile.entries(); byte[] buffer = new byte[16384]; int len; while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); String entryFileName = entry.getName(); File dir = buildDirectoryHierarchyFor(entryFileName, destDir); if (!dir.exists()) { dir.mkdirs(); } if (!entry.isDirectory()) { File file = new File(destDir, entryFileName); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file)); BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry)); while ((len = bis.read(buffer)) > 0) { bos.write(buffer, 0, len); } bos.flush(); bos.close(); bis.close(); } } zipFile.close(); }
From source file:Main.java
public static void unzip(String strZipFile) { try {/*from w w w . j a v a 2 s. co m*/ /* * STEP 1 : Create directory with the name of the zip file * * For e.g. if we are going to extract c:/demo.zip create c:/demo directory where we can extract all the zip entries */ File fSourceZip = new File(strZipFile); String zipPath = strZipFile.substring(0, strZipFile.length() - 4); File temp = new File(zipPath); temp.mkdir(); System.out.println(zipPath + " created"); /* * STEP 2 : Extract entries while creating required sub-directories */ ZipFile zipFile = new ZipFile(fSourceZip); Enumeration<? extends ZipEntry> e = zipFile.entries(); while (e.hasMoreElements()) { ZipEntry entry = (ZipEntry) e.nextElement(); File destinationFilePath = new File(zipPath, entry.getName()); // create directories if required. destinationFilePath.getParentFile().mkdirs(); // if the entry is directory, leave it. Otherwise extract it. if (entry.isDirectory()) { continue; } else { // System.out.println("Extracting " + destinationFilePath); /* * Get the InputStream for current entry of the zip file using * * InputStream getInputStream(Entry entry) method. */ BufferedInputStream bis = new BufferedInputStream(zipFile.getInputStream(entry)); int b; byte buffer[] = new byte[1024]; /* * read the current entry from the zip file, extract it and write the extracted file. */ FileOutputStream fos = new FileOutputStream(destinationFilePath); BufferedOutputStream bos = new BufferedOutputStream(fos, 1024); while ((b = bis.read(buffer, 0, 1024)) != -1) { bos.write(buffer, 0, b); } // flush the output stream and close it. bos.flush(); bos.close(); // close the input stream. bis.close(); } } zipFile.close(); } catch (IOException ioe) { System.out.println("IOError :" + ioe); } }
From source file:org.paxml.bean.UnzipTag.java
public static void unzip(File file, File dir) { dir.mkdirs();//from ww w . ja va2 s. c o m ZipFile zipFile = null; try { zipFile = new ZipFile(file); Enumeration entries = zipFile.entries(); while (entries.hasMoreElements()) { ZipEntry entry = (ZipEntry) entries.nextElement(); if (entry.isDirectory()) { new File(dir, entry.getName()).mkdirs(); continue; } InputStream in = null; OutputStream out = null; try { zipFile.getInputStream(entry); out = new BufferedOutputStream(new FileOutputStream(entry.getName())); IOUtils.copy(in, out); } finally { IOUtils.closeQuietly(in); IOUtils.closeQuietly(out); } } } catch (IOException ioe) { throw new PaxmlRuntimeException( "Cannot unzip file: " + file.getAbsolutePath() + " under dir: " + dir.getAbsolutePath(), ioe); } finally { if (zipFile != null) { try { zipFile.close(); } catch (IOException e) { // do nothing } } } }
From source file:org.cloudfoundry.client.lib.SampleProjects.java
private static void unpackZip(ZipFile zipFile, File unpackDir) throws IOException { Enumeration<? extends ZipEntry> entries = zipFile.entries(); while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); File destination = new File(unpackDir.getAbsolutePath() + "/" + entry.getName()); if (entry.isDirectory()) { destination.mkdirs();// w w w . ja va 2 s.c o m } else { destination.getParentFile().mkdirs(); FileCopyUtils.copy(zipFile.getInputStream(entry), new FileOutputStream(destination)); } if (entry.getTime() != -1) { destination.setLastModified(entry.getTime()); } } }
From source file:net.sourceforge.floggy.maven.ZipUtils.java
/** * DOCUMENT ME!// w ww. j a v a 2 s . c om * * @param file DOCUMENT ME! * @param directory DOCUMENT ME! * * @throws IOException DOCUMENT ME! */ public static void unzip(File file, File directory) throws IOException { ZipFile zipFile = new ZipFile(file); Enumeration entries = zipFile.entries(); if (!directory.exists() && !directory.mkdirs()) { throw new IOException("Unable to create the " + directory + " directory!"); } while (entries.hasMoreElements()) { File temp; ZipEntry entry = (ZipEntry) entries.nextElement(); if (entry.isDirectory()) { temp = new File(directory, entry.getName()); if (!temp.exists() && !temp.mkdirs()) { throw new IOException("Unable to create the " + temp + " directory!"); } } else { temp = new File(directory, entry.getName()); IOUtils.copy(zipFile.getInputStream(entry), new FileOutputStream(temp)); } } zipFile.close(); }
From source file:cc.recommenders.utils.Zips.java
public static void unzip(File source, File dest) throws IOException { ZipInputStream zis = null;//w ww. ja v a2 s .c o m try { InputSupplier<FileInputStream> fis = Files.newInputStreamSupplier(source); zis = new ZipInputStream(fis.getInput()); ZipEntry entry; while ((entry = zis.getNextEntry()) != null) { if (!entry.isDirectory()) { final File file = new File(dest, entry.getName()); Files.createParentDirs(file); Files.write(ByteStreams.toByteArray(zis), file); } } } finally { Closeables.closeQuietly(zis); } }
From source file:de.rub.syssec.saaf.analysis.steps.extract.ApkUnzipper.java
/** * Extracts the given apk into the given destination directory * /*from www . j a v a2 s . co m*/ * @param archive * - the file to extract * @param dest * - the destination directory * @throws IOException */ public static void extractApk(File archive, File dest) throws IOException { @SuppressWarnings("resource") // Closing it later results in an error ZipFile zipFile = new ZipFile(archive); Enumeration<? extends ZipEntry> entries = zipFile.entries(); BufferedOutputStream bos = null; BufferedInputStream bis = null; while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); String entryFileName = entry.getName(); byte[] buffer = new byte[16384]; int len; File dir = buildDirectoryHierarchyFor(entryFileName, dest);// destDir if (!dir.exists()) { dir.mkdirs(); } if (!entry.isDirectory()) { if (entry.getSize() == 0) { LOGGER.warn("Found ZipEntry \'" + entry.getName() + "\' with size 0 in " + archive.getName() + ". Looks corrupted."); continue; } try { bos = new BufferedOutputStream(new FileOutputStream(new File(dest, entryFileName)));// destDir,... bis = new BufferedInputStream(zipFile.getInputStream(entry)); while ((len = bis.read(buffer)) > 0) { bos.write(buffer, 0, len); } bos.flush(); } catch (IOException ioe) { LOGGER.warn("Failed to extract entry \'" + entry.getName() + "\' from archive. Results for " + archive.getName() + " may not be accurate"); } finally { if (bos != null) bos.close(); if (bis != null) bis.close(); // if (zipFile != null) zipFile.close(); } } } }
From source file:org.trustedanalytics.hadoop.admin.tools.HadoopClientParamsImporter.java
static Optional<Map<String, String>> scanConfigZipArchive(InputStream source) throws IOException, XPathExpressionException { InputStream zipInputStream = new ZipInputStream(new BufferedInputStream(source)); ZipEntry zipFileEntry; Map<String, String> ret = new HashMap<>(); while ((zipFileEntry = ((ZipInputStream) zipInputStream).getNextEntry()) != null) { if (!zipFileEntry.getName().endsWith("-site.xml")) { continue; }//from w ww . ja va 2s.c om byte[] bytes = IOUtils.toByteArray(zipInputStream); InputSource is = new InputSource(new ByteArrayInputStream(bytes)); XPath xPath = XPathFactory.newInstance().newXPath(); NodeList nodeList = (NodeList) xPath.evaluate(CONF_PROPERTY_XPATH, is, XPathConstants.NODESET); for (int i = 0; i < nodeList.getLength(); i++) { Node propNode = nodeList.item(i); String key = (String) xPath.evaluate("name/text()", propNode, XPathConstants.STRING); String value = (String) xPath.evaluate("value/text()", propNode, XPathConstants.STRING); ret.put(key, value); } } return Optional.of(ret); }
From source file:com.formkiq.core.util.Zips.java
/** * Extract Zip file to Map./*from w w w . ja v a2 s .c o m*/ * @param bytes byte[] * @return {@link Map} * @throws IOException IOException */ public static Map<String, byte[]> extractZipToMap(final byte[] bytes) throws IOException { Map<String, byte[]> map = new HashMap<>(); ByteArrayInputStream is = new ByteArrayInputStream(bytes); ZipInputStream zipStream = new ZipInputStream(is); try { ZipEntry entry = null; while ((entry = zipStream.getNextEntry()) != null) { String filename = entry.getName(); byte[] data = IOUtils.toByteArray(zipStream); map.put(filename, data); } } finally { IOUtils.closeQuietly(is); IOUtils.closeQuietly(zipStream); } return map; }