Class MonitorInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class MonitorInputStream
    extends java.io.BufferedInputStream
    An InputStream that provides buffering and end-of-stream monitoring.
    • Field Summary

      • Fields inherited from class java.io.BufferedInputStream

        buf, count, marklimit, markpos, pos
      • Fields inherited from class java.io.FilterInputStream

        in
    • Constructor Summary

      Constructors 
      Constructor Description
      MonitorInputStream​(java.io.InputStream in)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()
      Returns 0 if the stream is at EOF, else the underlying inputStream will be queried.
      void close()
      Closes this input stream and releases any system resources associated with the stream.
      long getCount()
      Get the number of bytes read by this input stream.
      protected void onClose()
      Called after the stream has been closed.
      int read()
      Reads a character.
      int read​(byte[] buffer, int offset, int length)
      Reads bytes from this input stream.
      • Methods inherited from class java.io.BufferedInputStream

        mark, markSupported, reset, skip
      • Methods inherited from class java.io.FilterInputStream

        read
      • Methods inherited from class java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

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

      • available

        public int available()
                      throws java.io.IOException
        Returns 0 if the stream is at EOF, else the underlying inputStream will be queried.
        Overrides:
        available in class java.io.BufferedInputStream
        Returns:
        The number of bytes that are available.
        Throws:
        java.io.IOException - if an error occurs.
        Since:
        2.0
      • read

        public int read()
                 throws java.io.IOException
        Reads a character.
        Overrides:
        read in class java.io.BufferedInputStream
        Returns:
        The character that was read as an integer.
        Throws:
        java.io.IOException - if an error occurs.
      • read

        public int read​(byte[] buffer,
                        int offset,
                        int length)
                 throws java.io.IOException
        Reads bytes from this input stream.
        Overrides:
        read in class java.io.BufferedInputStream
        Parameters:
        buffer - A byte array in which to place the characters read.
        offset - The offset at which to start reading.
        length - The maximum number of bytes to read.
        Returns:
        The number of bytes read.
        Throws:
        java.io.IOException - if an error occurs.
      • close

        public void close()
                   throws java.io.IOException
        Closes this input stream and releases any system resources associated with the stream.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.BufferedInputStream
        Throws:
        java.io.IOException - if an error occurs.
      • onClose

        protected void onClose()
                        throws java.io.IOException
        Called after the stream has been closed. This implementation does nothing.
        Throws:
        java.io.IOException - if an error occurs.
      • getCount

        public long getCount()
        Get the number of bytes read by this input stream.
        Returns:
        The number of bytes read by this input stream.