From d2c62b11931d30abcd519d55db0bdfdde6ea438f Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Sat, 5 Apr 2008 16:32:46 +0000 Subject: [PATCH] add closer git-svn-id: http://trooper/svn/projects/jSite/trunk@608 c3eda9e8-030b-0410-8277-bc7414b0a119 --- src/net/pterodactylus/util/io/Closer.java | 130 ++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 src/net/pterodactylus/util/io/Closer.java diff --git a/src/net/pterodactylus/util/io/Closer.java b/src/net/pterodactylus/util/io/Closer.java new file mode 100644 index 0000000..126c202 --- /dev/null +++ b/src/net/pterodactylus/util/io/Closer.java @@ -0,0 +1,130 @@ +/* + * freenet - Closer.java Copyright © 2007 David Roden + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package net.pterodactylus.util.io; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.Reader; +import java.io.Writer; +import java.util.jar.JarFile; +import java.util.zip.ZipFile; + +/** + * Closes various resources. The resources are checked for being + * null before being closed, and every possible execption is + * swallowed. That makes this class perfect for use in the finally blocks of + * try-catch-finally blocks. + * + * @author David ‘Roden’ <bombe@freenetproject.org> + * @version $Id$ + */ +public class Closer { + + /** + * Closes the given output stream. + * + * @param outputStream + * The output stream to close + */ + public static void close(OutputStream outputStream) { + if (outputStream != null) { + try { + outputStream.close(); + } catch (IOException ioe1) { + } + } + } + + /** + * Closes the given input stream. + * + * @param inputStream + * The input stream to close + */ + public static void close(InputStream inputStream) { + if (inputStream != null) { + try { + inputStream.close(); + } catch (IOException ioe1) { + } + } + } + + /** + * Closes the given writer. + * + * @param writer + * The writer to close + */ + public static void close(Writer writer) { + if (writer != null) { + try { + writer.close(); + } catch (IOException ioe1) { + } + } + } + + /** + * Closes the given reader. + * + * @param reader + * The reader to close + */ + public static void close(Reader reader) { + if (reader != null) { + try { + reader.close(); + } catch (IOException ioe1) { + } + } + } + + /** + * Closes the given jar file. + * + * @param jarFile + * The jar file to close + */ + public static void close(JarFile jarFile) { + if (jarFile != null) { + try { + jarFile.close(); + } catch (IOException e) { + } + } + } + + /** + * Closes the given zip file. + * + * @param zipFile + * The zip file to close + */ + public static void close(ZipFile zipFile) { + if (zipFile != null) { + try { + zipFile.close(); + } catch (IOException e) { + } + } + } + +} -- 2.7.4