From: Sergey Vladimirov Date: Mon, 4 Jul 2011 19:50:01 +0000 (+0000) Subject: add closeQuietly() method X-Git-Tag: REL_3_8_BETA4~335 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=433da9b2fbf2de43b4fbadb1e824b0bfb732fa68;p=poi.git add closeQuietly() method git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1142781 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/src/java/org/apache/poi/util/IOUtils.java b/src/java/org/apache/poi/util/IOUtils.java index 4812584898..4f18214c46 100644 --- a/src/java/org/apache/poi/util/IOUtils.java +++ b/src/java/org/apache/poi/util/IOUtils.java @@ -18,6 +18,7 @@ package org.apache.poi.util; import java.io.ByteArrayOutputStream; +import java.io.Closeable; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -27,6 +28,10 @@ import java.util.zip.CRC32; import java.util.zip.Checksum; public final class IOUtils { + + private static final POILogger logger = POILogFactory + .getLogger( IOUtils.class ); + private IOUtils() { // no instances of this class } @@ -137,4 +142,24 @@ public final class IOUtils { sum.update(data, 0, data.length); return sum.getValue(); } + + /** + * Quietly (no exceptions) close Closable resource. In case of error it will + * be printed to {@link IOUtils} class logger. + * + * @param closeable + * resource to close + */ + public static void closeQuietly( final Closeable closeable ) + { + try + { + closeable.close(); + } + catch ( Exception exc ) + { + logger.log( POILogger.ERROR, "Unable to close resource: " + exc, + exc ); + } + } }