[
https://issues.apache.org/jira/browse/COMPRESS-105?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stefan Bodewig updated COMPRESS-105:
------------------------------------
Fix Version/s: (was: 1.0)
Affects Version/s: 1.0
> While Archiving the empty directories are not archived to the archive.
> ----------------------------------------------------------------------
>
> Key: COMPRESS-105
> URL: https://issues.apache.org/jira/browse/COMPRESS-105
> Project: Commons Compress
> Issue Type: Bug
> Affects Versions: 1.0
> Environment: 64 bit Windows Vista, JDK1.4.1_11
> Reporter: Soundararajan Thevaraj
> Fix For: 1.1
>
> Attachments: ArchiveIssue.JPG, TestDirectory.java
>
>
> I am trying to create a zip archive. I am having a empty directory "test" .
> When i try to create it to archive . The archive created but the test folder
> is created as file. And also I got the below exception.
> Temp file created at
> C:\Users\Soundar\AppData\Local\Temp\sample5278197872513888977.zip
> Exception in thread "main" java.io.IOException: This archives contains
> unclosed entries.
> at
> org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.finish(ZipArchiveOutputStream.java:343)
> at
> org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.close(ZipArchiveOutputStream.java:550)
> at
> com.tcs.tools.archive.test.ArchiveTest.createArchive(ArchiveTest.java:64)
> at com.tcs.tools.archive.test.ArchiveTest.main(ArchiveTest.java:119)
> Code used
> -------------
> protected File createArchive(String archivename) throws Exception {
> ArchiveOutputStream out = null;
> OutputStream stream = null;
> ArchiveStreamFactory factory = new ArchiveStreamFactory();
> try {
> File archive = File.createTempFile("sample", "." +
> archivename);
> System.out.println("Temp file created at " +
> archive.getAbsolutePath());
> List archiveList = new ArrayList();
> stream = new FileOutputStream(archive);
> out = factory.createArchiveOutputStream(archivename,
> stream);
> final File file7 = new
> File("C:\\Users\\Soundar\\Desktop\\test");
> addArchiveEntry(out, "test", file7);
> System.out.println("Going to process directory");
> System.out.println("Directory Name =" +
> file7.getName());
> ArchiveEntry entry = out.createArchiveEntry(file7,
> "test");
> out.putArchiveEntry(entry);
> IOUtils.copy(new FileInputStream(file7), out);
> out.closeArchiveEntry();
> out.finish();
> return archive;
> } finally {
> if (out != null) {
> out.close();
> } else if (stream != null) {
> stream.close();
> }
> }
> }
> Note
> ------
> I tried the same archiving using the compressed zip of Windows Vista default
> feature. It creates the Sample.zip which contains the empty test folder as
> archived.
> I know there is a work around using java.util.zip.zipEntry. But is there a
> work around in our Compress itself?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.