|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.google.gdata.util.common.io.Closeables
public final class Closeables
Utility methods for working with Closeable objects.
| Method Summary | |
|---|---|
static void |
close(java.io.Closeable closeable,
boolean swallowIOException)
Close a Closeable, with control over whether an
IOException may be thrown. |
static void |
closeQuietly(java.io.Closeable closeable)
Equivalent to calling close(closeable, true), but with no
IOException in the signature. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static void close(java.io.Closeable closeable,
boolean swallowIOException)
throws java.io.IOException
Closeable, with control over whether an
IOException may be thrown. This is primarily useful in a
finally block, where a thrown exception needs to be logged but not
propagated (otherwise the original exception will be lost). The
Closeable object is also checked to see if it implements
Flushable and if it does, it is flushed before closing.
If flush throws an exception, we try to close the
Closeable before continuing. If close also throws an
exception and swallowIOException is false, then we rethrow
close exception, otherwise we rethrow the flush
exception.
If swallowIOException is true then we never throw
IOException but merely log it.
Example:
public void useStreamNicely() throws OtherException {
boolean threw = true;
SomeStream stream = null;
try {
stream = new SomeStream("foo");
// Some code which does something with the Stream. May throw a
// Throwable.
threw = false; // No throwable thrown.
} catch (SomeException e) {
throw new OtherException(e);
} finally {
// Close (and flush if Flushable) the stream.
// If an exception occurs, only rethrow it if (threw==false).
Closeables.close(stream, threw);
}
closeable - the Closeable object to be closed, or null,
in which case this method does nothingswallowIOException - if true, don't propagate IO exceptions
thrown by the close or flush methods
java.io.IOException - if swallowIOException is false and
close or flush throws an IOException.public static void closeQuietly(java.io.Closeable closeable)
close(closeable, true), but with no
IOException in the signature.
closeable - the Closeable object to be closed, or null, in
which case this method does nothing
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||