[jboss-svn-commits] JBoss Common SVN: r3261 - jzipfile/trunk/src/main/java/org/jboss/jzipfile.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jun 16 09:57:28 EDT 2009
Author: david.lloyd at jboss.com
Date: 2009-06-16 09:57:28 -0400 (Tue, 16 Jun 2009)
New Revision: 3261
Modified:
jzipfile/trunk/src/main/java/org/jboss/jzipfile/Zip.java
Log:
More resource close in fail state
Modified: jzipfile/trunk/src/main/java/org/jboss/jzipfile/Zip.java
===================================================================
--- jzipfile/trunk/src/main/java/org/jboss/jzipfile/Zip.java 2009-06-15 19:21:07 UTC (rev 3260)
+++ jzipfile/trunk/src/main/java/org/jboss/jzipfile/Zip.java 2009-06-16 13:57:28 UTC (rev 3261)
@@ -143,9 +143,13 @@
* @throws IOException if an I/O error occurs
*/
public static ZipCatalog readCatalog(InputStream inputStream) throws IOException {
- final ZipCatalogBuilder builder = new ZipCatalogBuilder();
- builder.readDirectory(inputStream);
- return builder.getZipCatalog();
+ try {
+ final ZipCatalogBuilder builder = new ZipCatalogBuilder();
+ builder.readDirectory(inputStream);
+ return builder.getZipCatalog();
+ } finally {
+ Zip.safeClose(inputStream);
+ }
}
/**
@@ -171,8 +175,15 @@
*/
public static InputStream openEntry(File zipFile, ZipEntry zipEntry) throws IOException {
final RandomAccessFile raf = new RandomAccessFile(zipFile, "r");
- raf.seek(zipEntry.getOffset());
- return openEntry(new RandomAccessInputStream(raf), zipEntry);
+ boolean ok = false;
+ try {
+ raf.seek(zipEntry.getOffset());
+ final InputStream is = openEntry(new RandomAccessInputStream(raf), zipEntry);
+ ok = true;
+ return is;
+ } finally {
+ if (! ok) Zip.safeClose(raf);
+ }
}
/**
More information about the jboss-svn-commits
mailing list