List of usage examples for org.apache.commons.compress.archivers.zip ZipFile getEntries
public Enumeration getEntries()
From source file:net.orpiske.ssps.common.archive.zip.ZipArchive.java
/** * Decompress a file// ww w. j a va2s.c om * @param source the source file to be uncompressed * @param destination the destination directory * @return the number of bytes read * @throws IOException for lower level I/O errors */ public long unpack(File source, File destination) throws IOException { ZipFile zipFile = null; long ret = 0; try { zipFile = new ZipFile(source); Enumeration<ZipArchiveEntry> entries = zipFile.getEntries(); while (entries.hasMoreElements()) { ZipArchiveEntry entry = entries.nextElement(); File outFile = new File(destination.getPath() + File.separator + entry.getName()); CompressedArchiveUtils.prepareDestination(outFile); if (!entry.isDirectory()) { ret += extractFile(zipFile, entry, outFile); } int mode = entry.getUnixMode(); PermissionsUtils.setPermissions(mode, outFile); } } finally { if (zipFile != null) { zipFile.close(); } } return ret; }
From source file:io.wcm.maven.plugins.contentpackage.unpacker.ContentUnpacker.java
/** * Unpacks file// w w w .j a v a2 s . c om * @param file File * @param outputDirectory Output directory * @throws MojoExecutionException */ public void unpack(File file, File outputDirectory) throws MojoExecutionException { ZipFile zipFile = null; try { zipFile = new ZipFile(file); Enumeration<ZipArchiveEntry> entries = zipFile.getEntries(); while (entries.hasMoreElements()) { ZipArchiveEntry entry = entries.nextElement(); if (!exclude(entry.getName(), excludeFiles)) { unpackEntry(zipFile, entry, outputDirectory); } } } catch (IOException ex) { throw new MojoExecutionException("Error reading content package " + file.getAbsolutePath(), ex); } finally { IOUtils.closeQuietly(zipFile); } }
From source file:com.silverpeas.util.ZipManagerTest.java
/** * Test of compressPathToZip method, of class ZipManager. * * @throws Exception/*from w w w . j a v a 2 s . co m*/ */ @Test public void testCompressPathToZip() throws Exception { String path = PathTestUtil.TARGET_DIR + "test-classes" + separatorChar + "ZipSample"; String outfilename = PathTestUtil.TARGET_DIR + "temp" + separatorChar + "testCompressPathToZip.zip"; ZipManager.compressPathToZip(path, outfilename); ZipFile zipFile = new ZipFile(new File(outfilename), CharEncoding.UTF_8); try { Enumeration<? extends ZipEntry> entries = zipFile.getEntries(); assertThat(zipFile.getEncoding(), is(CharEncoding.UTF_8)); int nbEntries = 0; while (entries.hasMoreElements()) { ZipEntry entry = entries.nextElement(); nbEntries++; } assertThat(nbEntries, is(5)); assertThat(zipFile.getEntry("ZipSample/simple.txt"), is(notNullValue())); assertThat(zipFile.getEntry("ZipSample/level1/simple.txt"), is(notNullValue())); assertThat(zipFile.getEntry("ZipSample/level1/level2b/simple.txt"), is(notNullValue())); assertThat(zipFile.getEntry("ZipSample/level1/level2a/simple.txt"), is(notNullValue())); ZipEntry accentuatedEntry = zipFile.getEntry("ZipSample/level1/level2a/s\u00efmplifi\u00e9.txt"); if (accentuatedEntry == null) { accentuatedEntry = zipFile.getEntry("ZipSample/level1/level2a/" + new String("smplifi.txt".getBytes("UTF-8"), Charset.defaultCharset())); } assertThat(accentuatedEntry, is(notNullValue())); assertThat(zipFile.getEntry("ZipSample/level1/level2c/"), is(nullValue())); } finally { zipFile.close(); } }
From source file:cn.vlabs.clb.server.utils.UnCompress.java
public void unzip(File file) { ZipFile zipfile = null; try {//from w w w .j a va 2s . c o m if (encoding == null) zipfile = new ZipFile(file); else zipfile = new ZipFile(file, encoding); Enumeration<ZipArchiveEntry> iter = zipfile.getEntries(); while (iter.hasMoreElements()) { ZipArchiveEntry entry = iter.nextElement(); if (!entry.isDirectory()) { InputStream entryis = null; try { entryis = zipfile.getInputStream(entry); listener.onNewEntry(new ZipEntryAdapter(entry, zipfile)); } finally { IOUtils.closeQuietly(entryis); } } } } catch (ZipException e) { log.error(e.getMessage(), e); } catch (IOException e) { log.error("file not found " + e.getMessage(), e); } finally { if (zipfile != null) { try { zipfile.close(); } catch (IOException e) { log.error(e); } } } }
From source file:com.xwikisas.xcs.tools.dependenciespackager.PackageExtensionsMojo.java
private Collection<String> getJarsIncludedInWar() throws IOException, MojoExecutionException { Collection<String> jars = new ArrayList<>(); // Get the XCS Web artifact Artifact web = mavenProject.getArtifactMap().get(excludeFromWAR); // Open the war and list all the jars ZipFile zipFile = new ZipFile(web.getFile()); Enumeration<ZipArchiveEntry> entries = zipFile.getEntries(); while (entries.hasMoreElements()) { String entryName = entries.nextElement().getName(); if (entryName.startsWith(JAR_DIRECTORY) && entryName.endsWith(".jar")) { jars.add(entryName.substring(JAR_DIRECTORY.length())); }//from w ww . j a v a 2s .c o m } zipFile.close(); return jars; }
From source file:fr.acxio.tools.agia.tasks.ZipFilesTaskletTest.java
@Test public void testEmptyBaseDirRelativeDir() throws Exception { String aTargetFilename = "target/Z6-input.zip"; ZipFilesTasklet aTasklet = new ZipFilesTasklet(); aTasklet.setSourceBaseDirectory(new FileSystemResource("")); FileSystemResourcesFactory aSourceFactory = new FileSystemResourcesFactory(); aSourceFactory.setPattern("file:src/test/resources/testFiles/input.csv"); aTasklet.setSourceFactory(aSourceFactory); ExpressionResourceFactory aDestinationFactory = new ExpressionResourceFactory(); aDestinationFactory.setExpression(aTargetFilename); aTasklet.setDestinationFactory(aDestinationFactory); assertEquals(RepeatStatus.FINISHED, aTasklet.execute(null, null)); assertTrue(new File(aTargetFilename).exists()); ZipFile aZipFile = new ZipFile(new File(aTargetFilename)); Enumeration<ZipArchiveEntry> aEntries = aZipFile.getEntries(); assertTrue(aEntries.hasMoreElements()); assertEquals("src/test/resources/testFiles/input.csv", aEntries.nextElement().getName()); assertFalse(aEntries.hasMoreElements()); aZipFile.close();/* w w w . j av a 2s . c o m*/ }
From source file:fr.acxio.tools.agia.tasks.ZipFilesTaskletTest.java
@Test public void testZipFile() throws Exception { String aTargetFilename = "target/Z0-input.zip"; ZipFilesTasklet aTasklet = new ZipFilesTasklet(); aTasklet.setSourceBaseDirectory(new FileSystemResource("src/test/resources/testFiles/")); FileSystemResourcesFactory aSourceFactory = new FileSystemResourcesFactory(); aSourceFactory.setPattern("file:src/test/resources/testFiles/input.csv"); aTasklet.setSourceFactory(aSourceFactory); ExpressionResourceFactory aDestinationFactory = new ExpressionResourceFactory(); aDestinationFactory.setExpression(aTargetFilename); aTasklet.setDestinationFactory(aDestinationFactory); assertFalse(new File(aTargetFilename).exists()); StepContribution aStepContribution = mock(StepContribution.class); assertEquals(RepeatStatus.FINISHED, aTasklet.execute(aStepContribution, null)); verify(aStepContribution, times(1)).incrementReadCount(); verify(aStepContribution, times(1)).incrementWriteCount(1); assertTrue(new File(aTargetFilename).exists()); ZipFile aZipFile = new ZipFile(new File(aTargetFilename)); Enumeration<ZipArchiveEntry> aEntries = aZipFile.getEntries(); assertTrue(aEntries.hasMoreElements()); assertEquals("input.csv", aEntries.nextElement().getName()); assertFalse(aEntries.hasMoreElements()); aZipFile.close();/*from w w w . j av a 2 s . com*/ }
From source file:fr.acxio.tools.agia.tasks.ZipFilesTaskletTest.java
@Test public void testExistingZipFile() throws Exception { File aTargetFile = File.createTempFile("target/Z8-input", ".zip"); String aTargetFilename = aTargetFile.getAbsolutePath(); ZipFilesTasklet aTasklet = new ZipFilesTasklet(); aTasklet.setSourceBaseDirectory(new FileSystemResource("src/test/resources/testFiles/")); FileSystemResourcesFactory aSourceFactory = new FileSystemResourcesFactory(); aSourceFactory.setPattern("file:src/test/resources/testFiles/input.csv"); aTasklet.setSourceFactory(aSourceFactory); ExpressionResourceFactory aDestinationFactory = new ExpressionResourceFactory(); aDestinationFactory.setExpression(aTargetFilename); aTasklet.setDestinationFactory(aDestinationFactory); assertTrue(new File(aTargetFilename).exists()); StepContribution aStepContribution = mock(StepContribution.class); assertEquals(RepeatStatus.FINISHED, aTasklet.execute(aStepContribution, null)); verify(aStepContribution, times(1)).incrementReadCount(); verify(aStepContribution, times(1)).incrementWriteCount(1); assertTrue(new File(aTargetFilename).exists()); ZipFile aZipFile = new ZipFile(new File(aTargetFilename)); Enumeration<ZipArchiveEntry> aEntries = aZipFile.getEntries(); assertTrue(aEntries.hasMoreElements()); assertEquals("input.csv", aEntries.nextElement().getName()); assertFalse(aEntries.hasMoreElements()); aZipFile.close();//from ww w . j ava 2s . c om }
From source file:fr.acxio.tools.agia.tasks.ZipFilesTaskletTest.java
@Test public void testExistingLockedZipFile() throws Exception { exception.expect(IOException.class); File aTargetFile = File.createTempFile("target/Z9-input", ".zip"); aTargetFile.setWritable(false);// w w w . j a v a2 s. c o m String aTargetFilename = aTargetFile.getAbsolutePath(); ZipFilesTasklet aTasklet = new ZipFilesTasklet(); aTasklet.setSourceBaseDirectory(new FileSystemResource("src/test/resources/testFiles/")); FileSystemResourcesFactory aSourceFactory = new FileSystemResourcesFactory(); aSourceFactory.setPattern("file:src/test/resources/testFiles/input.csv"); aTasklet.setSourceFactory(aSourceFactory); ExpressionResourceFactory aDestinationFactory = new ExpressionResourceFactory(); aDestinationFactory.setExpression(aTargetFilename); aTasklet.setDestinationFactory(aDestinationFactory); assertTrue(new File(aTargetFilename).exists()); StepContribution aStepContribution = mock(StepContribution.class); assertEquals(RepeatStatus.FINISHED, aTasklet.execute(aStepContribution, null)); verify(aStepContribution, times(1)).incrementReadCount(); verify(aStepContribution, times(1)).incrementWriteCount(1); assertTrue(new File(aTargetFilename).exists()); ZipFile aZipFile = new ZipFile(new File(aTargetFilename)); Enumeration<ZipArchiveEntry> aEntries = aZipFile.getEntries(); assertTrue(aEntries.hasMoreElements()); assertEquals("input.csv", aEntries.nextElement().getName()); assertFalse(aEntries.hasMoreElements()); aZipFile.close(); }
From source file:fr.acxio.tools.agia.tasks.ZipFilesTaskletTest.java
@Test public void testZipTwoFile() throws Exception { FileUtils.forceMkdir(new File("target/Z-testfiles/source")); FileUtils.copyFile(new File("src/test/resources/testFiles/input.csv"), new File("target/Z-testfiles/source/CP0-input.csv")); FileUtils.copyFile(new File("src/test/resources/testFiles/input.csv"), new File("target/Z-testfiles/source/CP1-input.csv")); String aTargetFilename = "target/Z1-input.zip"; ZipFilesTasklet aTasklet = new ZipFilesTasklet(); aTasklet.setSourceBaseDirectory(new FileSystemResource("target/Z-testfiles/source/")); FileSystemResourcesFactory aSourceFactory = new FileSystemResourcesFactory(); aSourceFactory.setPattern("file:target/Z-testfiles/source/*input*.csv"); aTasklet.setSourceFactory(aSourceFactory); ExpressionResourceFactory aDestinationFactory = new ExpressionResourceFactory(); aDestinationFactory.setExpression(aTargetFilename); aTasklet.setDestinationFactory(aDestinationFactory); assertFalse(new File(aTargetFilename).exists()); StepContribution aStepContribution = mock(StepContribution.class); assertEquals(RepeatStatus.FINISHED, aTasklet.execute(aStepContribution, null)); verify(aStepContribution, times(2)).incrementReadCount(); verify(aStepContribution, times(2)).incrementWriteCount(1); assertTrue(new File(aTargetFilename).exists()); ZipFile aZipFile = new ZipFile(new File(aTargetFilename)); Enumeration<ZipArchiveEntry> aEntries = aZipFile.getEntries(); assertTrue(aEntries.hasMoreElements()); assertEquals("CP0-input.csv", aEntries.nextElement().getName()); assertTrue(aEntries.hasMoreElements()); assertEquals("CP1-input.csv", aEntries.nextElement().getName()); assertFalse(aEntries.hasMoreElements()); aZipFile.close();/* w ww . ja v a2s . c o m*/ }