Close the temporarily opened streams.
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/22664fc6 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/22664fc6 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/22664fc6 Branch: refs/heads/master Commit: 22664fc6655534b4dbc7c862b5f46569e3e8780f Parents: 045d193 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Mon Feb 6 14:59:43 2012 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Mon Feb 6 14:59:43 2012 +0200 ---------------------------------------------------------------------- .../wicket/util/resource/ZipResourceStream.java | 25 ++++++++++---- 1 files changed, 18 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/22664fc6/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java b/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java index 9aa00fb..dcc648a 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/resource/ZipResourceStream.java @@ -77,7 +77,12 @@ public class ZipResourceStream extends AbstractResourceStream try { ZipOutputStream out = new ZipOutputStream(bytearray); - zipDir(dir, out, "", recursive); + try + { + zipDir(dir, out, "", recursive); + } finally { + out.close(); + } } catch (RuntimeException e) { @@ -129,8 +134,10 @@ public class ZipResourceStream extends AbstractResourceStream for (String file : files) { - log.debug("Adding: '{}'", file); - + if (log.isDebugEnabled()) + { + log.debug("Adding: '{}'", file); + } File f = new File(dir, file); if (f.isDirectory()) { @@ -146,12 +153,16 @@ public class ZipResourceStream extends AbstractResourceStream FileInputStream fi = new FileInputStream(f); origin = new BufferedInputStream(fi, BUFFER); - int count; - while ((count = origin.read(data, 0, BUFFER)) != -1) + try { - out.write(data, 0, count); + int count; + while ((count = origin.read(data, 0, BUFFER)) != -1) + { + out.write(data, 0, count); + } + } finally { + origin.close(); } - origin.close(); } }
