Class Streams


  • public final class Streams
    extends java.lang.Object
    Utility methods to assist with stream processing.
    • Constructor Summary

      Constructors 
      Constructor Description
      Streams()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void drain​(java.io.InputStream inStr)
      Read stream till EOF is encountered.
      static void pipeAll​(java.io.InputStream inStr, java.io.OutputStream outStr)
      Write the full contents of inStr to the destination stream outStr.
      static long pipeAllLimited​(java.io.InputStream inStr, long limit, java.io.OutputStream outStr)
      Write up to limit bytes of data from inStr to the destination stream outStr.
      static byte[] readAll​(java.io.InputStream inStr)
      Read stream fully, returning contents in a byte array.
      static byte[] readAllLimited​(java.io.InputStream inStr, int limit)
      Read from inStr up to a maximum number of bytes, throwing an exception if more the maximum amount of requested data is available.
      static int readFully​(java.io.InputStream inStr, byte[] buf)
      Fully read in buf's length in data, or up to EOF, whichever occurs first,
      static int readFully​(java.io.InputStream inStr, byte[] buf, int off, int len)
      Fully read in len's bytes of data into buf, or up to EOF, whichever occurs first,
      static void writeBufTo​(java.io.ByteArrayOutputStream buf, java.io.OutputStream output)  
      • Methods inherited from class java.lang.Object

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

      • Streams

        public Streams()
    • Method Detail

      • drain

        public static void drain​(java.io.InputStream inStr)
                          throws java.io.IOException
        Read stream till EOF is encountered.
        Parameters:
        inStr - stream to be emptied.
        Throws:
        java.io.IOException - in case of underlying IOException.
      • readAll

        public static byte[] readAll​(java.io.InputStream inStr)
                              throws java.io.IOException
        Read stream fully, returning contents in a byte array.
        Parameters:
        inStr - stream to be read.
        Returns:
        a byte array representing the contents of inStr.
        Throws:
        java.io.IOException - in case of underlying IOException.
      • readAllLimited

        public static byte[] readAllLimited​(java.io.InputStream inStr,
                                            int limit)
                                     throws java.io.IOException
        Read from inStr up to a maximum number of bytes, throwing an exception if more the maximum amount of requested data is available.
        Parameters:
        inStr - stream to be read.
        limit - maximum number of bytes that can be read.
        Returns:
        a byte array representing the contents of inStr.
        Throws:
        java.io.IOException - in case of underlying IOException, or if limit is reached on inStr still has data in it.
      • readFully

        public static int readFully​(java.io.InputStream inStr,
                                    byte[] buf)
                             throws java.io.IOException
        Fully read in buf's length in data, or up to EOF, whichever occurs first,
        Parameters:
        inStr - the stream to be read.
        buf - the buffer to be read into.
        Returns:
        the number of bytes read into the buffer.
        Throws:
        java.io.IOException - in case of underlying IOException.
      • readFully

        public static int readFully​(java.io.InputStream inStr,
                                    byte[] buf,
                                    int off,
                                    int len)
                             throws java.io.IOException
        Fully read in len's bytes of data into buf, or up to EOF, whichever occurs first,
        Parameters:
        inStr - the stream to be read.
        buf - the buffer to be read into.
        off - offset into buf to start putting bytes into.
        len - the number of bytes to be read.
        Returns:
        the number of bytes read into the buffer.
        Throws:
        java.io.IOException - in case of underlying IOException.
      • pipeAll

        public static void pipeAll​(java.io.InputStream inStr,
                                   java.io.OutputStream outStr)
                            throws java.io.IOException
        Write the full contents of inStr to the destination stream outStr.
        Parameters:
        inStr - source input stream.
        outStr - destination output stream.
        Throws:
        java.io.IOException - in case of underlying IOException.
      • pipeAllLimited

        public static long pipeAllLimited​(java.io.InputStream inStr,
                                          long limit,
                                          java.io.OutputStream outStr)
                                   throws java.io.IOException
        Write up to limit bytes of data from inStr to the destination stream outStr.
        Parameters:
        inStr - source input stream.
        limit - the maximum number of bytes allowed to be read.
        outStr - destination output stream.
        Throws:
        java.io.IOException - in case of underlying IOException, or if limit is reached on inStr still has data in it.
      • writeBufTo

        public static void writeBufTo​(java.io.ByteArrayOutputStream buf,
                                      java.io.OutputStream output)
                               throws java.io.IOException
        Throws:
        java.io.IOException