Class BlockStream

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

    public class BlockStream
    extends java.io.InputStream
    A stream that keeps a certain part of it's data in a byte-array to provide fast access with the possibility to go forward and backward on this block.
    Author:
    rbo
    • Constructor Summary

      Constructors 
      Constructor Description
      BlockStream​(java.io.InputStream in, int theBlockSize)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()
      void close()
      int read()
      void reset()
      long skip​(long n)
      • Methods inherited from class java.io.InputStream

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

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

      • BlockStream

        public BlockStream​(java.io.InputStream in,
                           int theBlockSize)
                    throws java.io.IOException
        Constructor.
        Parameters:
        in - Input stream
        theBlockSize - size of the block to hold in memory
        Throws:
        java.io.IOException - when the block could not be filled
    • Method Detail

      • read

        public int read()
                 throws java.io.IOException
        Specified by:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
        See Also:
        InputStream.read()
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Overrides:
        skip in class java.io.InputStream
        Throws:
        java.io.IOException
        See Also:
        InputStream.skip(long)
      • available

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class java.io.InputStream
        Throws:
        java.io.IOException
        See Also:
        InputStream.available()
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.InputStream
        Throws:
        java.io.IOException
        See Also:
        InputStream.close()
      • reset

        public void reset()
                   throws java.io.IOException
        Overrides:
        reset in class java.io.InputStream
        Throws:
        java.io.IOException
        See Also:
        InputStream.reset()