Class IO


  • public class IO
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      IO()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void close​(java.io.Closeable c)
      Close given Closeable instance, ignoring any resulting exception.
      static void close​(java.io.InputStream inputStream)
      Close given InputStream, ignoring any resulting exception.
      static void close​(java.io.OutputStream outputStream)
      Close given OutputStream, ignoring any resulting exception.
      static void close​(java.lang.AutoCloseable c)
      Close given AutoCloseable instance, ignoring any resulting exception.
      static long copy​(java.io.InputStream in, java.io.OutputStream out)  
      static long copy​(java.io.InputStream in, java.io.OutputStream out, long maxBytes)  
      static long copy​(java.io.Reader in, java.io.Writer out)  
      static long copy​(java.io.Reader in, java.io.Writer out, long maxChars)  
      static java.net.URLConnection openNonCachedConnection​(java.net.URL u)
      When URL Connection uses cache, it may keep file handler.
      static java.io.InputStream openNonCachedStream​(java.net.URL u)
      When URL Connection uses cache, it may keep file handler.
      static byte[] readAll​(java.io.InputStream in)  
      static byte[] readAll​(java.io.InputStream in, int size)  
      static java.lang.String readAll​(java.io.Reader reader)  
      static void skipFully​(java.io.InputStream in, long bytes)
      Provide a skip fully method.
      static boolean verifyURL​(java.net.URL u)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • IO

        public IO()
    • Method Detail

      • readAll

        public static byte[] readAll​(@WillClose
                                     java.io.InputStream in)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • readAll

        public static byte[] readAll​(@WillClose
                                     java.io.InputStream in,
                                     int size)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • readAll

        public static java.lang.String readAll​(java.io.Reader reader)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • copy

        public static long copy​(@WillNotClose
                                java.io.InputStream in,
                                @WillNotClose
                                java.io.OutputStream out)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • copy

        public static long copy​(java.io.Reader in,
                                java.io.Writer out)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • copy

        public static long copy​(@WillNotClose
                                java.io.InputStream in,
                                @WillNotClose
                                java.io.OutputStream out,
                                long maxBytes)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • copy

        public static long copy​(java.io.Reader in,
                                java.io.Writer out,
                                long maxChars)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • close

        public static void close​(@CheckForNull
                                 java.lang.AutoCloseable c)
        Close given AutoCloseable instance, ignoring any resulting exception.
      • close

        public static void close​(@CheckForNull
                                 java.io.Closeable c)
        Close given Closeable instance, ignoring any resulting exception.
      • close

        public static void close​(@CheckForNull
                                 java.io.InputStream inputStream)
        Close given InputStream, ignoring any resulting exception.
        Parameters:
        inputStream - the InputStream to close; may be null (in which case nothing happens)
      • close

        public static void close​(@CheckForNull
                                 java.io.OutputStream outputStream)
        Close given OutputStream, ignoring any resulting exception.
        Parameters:
        outputStream - the OutputStream to close; may be null (in which case nothing happens)
      • skipFully

        public static void skipFully​(java.io.InputStream in,
                                     long bytes)
                              throws java.io.IOException
        Provide a skip fully method. Either skips the requested number of bytes or throws an IOException;
        Parameters:
        in - The input stream on which to perform the skip
        bytes - Number of bytes to skip
        Throws:
        java.io.EOFException - if we reach EOF and still need to skip more bytes
        java.io.IOException - if in.skip throws an IOException
      • verifyURL

        public static boolean verifyURL​(java.net.URL u)
      • openNonCachedConnection

        @CheckReturnValue
        @NonNull
        public static java.net.URLConnection openNonCachedConnection​(@NonNull
                                                                     java.net.URL u)
                                                              throws java.io.IOException
        When URL Connection uses cache, it may keep file handler. This method open connection without caching to avoid file handler leak.
        Returns:
        opened URLConnection which does not use cache to load data
        Throws:
        java.io.IOException
        See Also:
        related GitHub issue
      • openNonCachedStream

        @CheckReturnValue
        @NonNull
        public static java.io.InputStream openNonCachedStream​(@NonNull
                                                              java.net.URL u)
                                                       throws java.io.IOException
        When URL Connection uses cache, it may keep file handler. This method open connection without caching to avoid file handler leak.
        Returns:
        opened URLConnection which does not use cache to load data
        Throws:
        java.io.IOException
        See Also:
        related GitHub issue