You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2002/03/19 08:55:34 UTC
cvs commit: xml-cocoon2/src/java/org/apache/cocoon/util IOUtils.java
cziegeler 02/03/18 23:55:34
Modified: src/java/org/apache/cocoon/util IOUtils.java
Log:
Always closing streams
Revision Changes Path
1.6 +81 -73 xml-cocoon2/src/java/org/apache/cocoon/util/IOUtils.java
Index: IOUtils.java
===================================================================
RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/util/IOUtils.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- IOUtils.java 8 Mar 2002 04:15:02 -0000 1.5
+++ IOUtils.java 19 Mar 2002 07:55:34 -0000 1.6
@@ -63,86 +63,94 @@
*
* @author <a href="mailto:ricardo@apache.org">Ricardo Rocha</a>
* @author <a href="mailto:stefano@apache.org">Stefano Mazzocchi</a>
- * @version CVS $Id: IOUtils.java,v 1.5 2002/03/08 04:15:02 vgritsenko Exp $
+ * @version CVS $Id: IOUtils.java,v 1.6 2002/03/19 07:55:34 cziegeler Exp $
*/
public class IOUtils {
- // **********************
- // Serialize Methods
- // **********************
-
- /**
- * Dump a <code>String</code> to a text file.
- *
- * @param file The output file
- * @param string The string to be dumped
- * @exception IOException IO Error
- */
- public static void serializeString(File file, String string)
- throws IOException
- {
- FileWriter fw = new FileWriter(file);
- fw.write(string);
- fw.flush();
- fw.close();
- }
-
- /**
- * Load a text file contents as a <code>String<code>.
- * This method does not perform enconding conversions
- *
- * @param file The input file
- * @return The file contents as a <code>String</code>
- * @exception IOException IO Error
- */
- public static String deserializeString(File file)
- throws IOException
- {
- int len;
- char[] chr = new char[4096];
- FileReader reader = new FileReader(file);
- StringBuffer buffer = new StringBuffer();
-
- while ((len = reader.read(chr)) > 0) {
- buffer.append(chr, 0, len);
+ // **********************
+ // Serialize Methods
+ // **********************
+
+ /**
+ * Dump a <code>String</code> to a text file.
+ *
+ * @param file The output file
+ * @param string The string to be dumped
+ * @exception IOException IO Error
+ */
+ public static void serializeString(File file, String string)
+ throws IOException {
+ final FileWriter fw = new FileWriter(file);
+ try {
+ fw.write(string);
+ fw.flush();
+ } finally {
+ if (fw != null) fw.close();
+ }
}
- return buffer.toString();
- }
+ /**
+ * Load a text file contents as a <code>String<code>.
+ * This method does not perform enconding conversions
+ *
+ * @param file The input file
+ * @return The file contents as a <code>String</code>
+ * @exception IOException IO Error
+ */
+ public static String deserializeString(File file)
+ throws IOException {
+ int len;
+ char[] chr = new char[4096];
+ final StringBuffer buffer = new StringBuffer();
+ final FileReader reader = new FileReader(file);
+ try {
+ while ((len = reader.read(chr)) > 0) {
+ buffer.append(chr, 0, len);
+ }
+ } finally {
+ if (reader != null) reader.close();
+ }
+ return buffer.toString();
+ }
- /**
- * This method serializes an object to an output stream.
- *
- * @param file The output file
- * @param object The object to be serialized
- * @exception IOException IOError
- */
- public static void serializeObject(File file, Object object)
- throws IOException
- {
- FileOutputStream fos = new FileOutputStream(file);
- ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(fos));
- oos.writeObject(object);
- oos.flush();
- fos.close();
- }
+ /**
+ * This method serializes an object to an output stream.
+ *
+ * @param file The output file
+ * @param object The object to be serialized
+ * @exception IOException IOError
+ */
+ public static void serializeObject(File file, Object object)
+ throws IOException {
+ FileOutputStream fos = new FileOutputStream(file);
+ try {
+ ObjectOutputStream oos = new ObjectOutputStream(new BufferedOutputStream(fos));
+ oos.writeObject(object);
+ oos.flush();
+ } finally {
+ if (fos != null) fos.close();
+ }
+ }
- /**
- * This method deserializes an object from an input stream.
- *
- * @param file The input file
- * @return The deserialized object
- * @exception IOException IOError
- */
- public static Object deserializeObject(File file)
- throws IOException, ClassNotFoundException
- {
- FileInputStream fis = new FileInputStream(file);
- ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(fis));
- Object object = ois.readObject();
- fis.close();
- return object;
- }
+ /**
+ * This method deserializes an object from an input stream.
+ *
+ * @param file The input file
+ * @return The deserialized object
+ * @exception IOException IOError
+ */
+ public static Object deserializeObject(File file)
+ throws IOException, ClassNotFoundException {
+ FileInputStream fis = new FileInputStream(file);
+ Object object = null;
+ try {
+ ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(fis));
+ object = ois.readObject();
+ } finally {
+ if (fis != null) fis.close();
+ }
+ return object;
+ }
/**
* These are java keywords as specified at the following URL (sorted alphabetically).
----------------------------------------------------------------------
In case of troubles, e-mail: webmaster@xml.apache.org
To unsubscribe, e-mail: cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org