Class Closeables

java.lang.Object
com.google.common.io.Closeables

@Beta @Deprecated(since="2022-12-01") public final class Closeables extends Object
Deprecated.
The Google Guava Core Libraries are deprecated and will not be part of the AEM SDK after April 2023
Utility methods for working with Closeable objects.
Since:
1.0
  • Method Details

    • close

      public static void close(@Nullable Closeable closeable, boolean swallowIOException) throws IOException
      Deprecated.
      Closes a 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).

      If swallowIOException is true then we never throw IOException but merely log it.

      Example:

         
      
         public void useStreamNicely() throws IOException {
           SomeStream stream = new SomeStream("foo");
           boolean threw = true;
           try {
             // ... code which does something with the stream ...
             threw = false;
           } finally {
             // If an exception occurs, rethrow it only if threw==false:
             Closeables.close(stream, threw);
           }
         }
      Parameters:
      closeable - the Closeable object to be closed, or null, in which case this method does nothing
      swallowIOException - if true, don't propagate IO exceptions thrown by the close methods
      Throws:
      IOException - if swallowIOException is false and close throws an IOException.
    • closeQuietly

      @Deprecated public static void closeQuietly(@Nullable Closeable closeable)
      Deprecated.
      Where possible, use the try-with-resources statement if using JDK7 or Closer on JDK6 to close one or more Closeable objects. This method is deprecated because it is easy to misuse and may swallow IO exceptions that really should be thrown and handled. See Guava issue 1118 for a more detailed explanation of the reasons for deprecation and see Closing Resources for more information on the problems with closing Closeable objects and some of the preferred solutions for handling it correctly. This method is scheduled to be removed in Guava 16.0.
      Equivalent to calling close(closeable, true), but with no IOException in the signature.
      Parameters:
      closeable - the Closeable object to be closed, or null, in which case this method does nothing