Class ByteBufferInputStream

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

    public class ByteBufferInputStream
    extends java.io.InputStream
    implements java.io.DataInput
    This is an InputStream implementation which reads from a java.nio.ByteBuffer. If a read operation crosses the end of the buffer, the BufferUnderflowException is converted to an EOFException. The stream contains no state other than that in in the buffer itself, so the buffer can be exchanged at will with the setBuffer() method.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.nio.ByteBuffer buf
      the buffer from which we read
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteBufferInputStream​(java.nio.ByteBuffer buf)
      Construct a new stream which reads from a byte buffer/
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()  
      void close()  
      void mark​(int readlimit)  
      boolean markSupported()  
      int read()  
      int read​(byte[] b)  
      int read​(byte[] b, int off, int len)  
      void read​(java.nio.ByteBuffer dest, int length)  
      boolean readBoolean()  
      byte readByte()  
      char readChar()  
      double readDouble()  
      float readFloat()  
      void readFully​(byte[] b)  
      void readFully​(byte[] b, int off, int len)  
      int readInt()  
      java.lang.String readLine()  
      long readLong()  
      short readShort()  
      int readUnsignedByte()  
      int readUnsignedShort()  
      java.lang.String readUTF()  
      void readUTF​(io.deephaven.base.string.cache.CharSequenceAdapterBuilder output)  
      java.lang.String readUTF​(io.deephaven.base.string.cache.CharSequenceAdapterBuilder output, io.deephaven.base.string.cache.StringCache<java.lang.String> cache)  
      void reset()  
      void setBuffer​(java.nio.ByteBuffer buf)
      Set the buffer to be used for future read operations.
      long skip​(long n)  
      int skipBytes​(int n)  
      • 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
    • Field Detail

      • buf

        protected java.nio.ByteBuffer buf
        the buffer from which we read
    • Constructor Detail

      • ByteBufferInputStream

        public ByteBufferInputStream​(java.nio.ByteBuffer buf)
        Construct a new stream which reads from a byte buffer/
    • Method Detail

      • setBuffer

        public void setBuffer​(java.nio.ByteBuffer buf)
        Set the buffer to be used for future read operations.
      • read

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

        public int read​(byte[] b)
                 throws java.io.IOException
        Overrides:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • read

        public int read​(byte[] b,
                        int off,
                        int len)
                 throws java.io.IOException
        Overrides:
        read in class java.io.InputStream
        Throws:
        java.io.IOException
      • skip

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

        public int available()
                      throws java.io.IOException
        Overrides:
        available in class java.io.InputStream
        Throws:
        java.io.IOException
      • 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
      • mark

        public void mark​(int readlimit)
        Overrides:
        mark in class java.io.InputStream
      • reset

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

        public boolean markSupported()
        Overrides:
        markSupported in class java.io.InputStream
      • readFully

        public void readFully​(byte[] b)
                       throws java.io.IOException
        Specified by:
        readFully in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readFully

        public void readFully​(byte[] b,
                              int off,
                              int len)
                       throws java.io.IOException
        Specified by:
        readFully in interface java.io.DataInput
        Throws:
        java.io.IOException
      • skipBytes

        public int skipBytes​(int n)
                      throws java.io.IOException
        Specified by:
        skipBytes in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readBoolean

        public boolean readBoolean()
                            throws java.io.IOException
        Specified by:
        readBoolean in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readByte

        public byte readByte()
                      throws java.io.IOException
        Specified by:
        readByte in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readUnsignedByte

        public int readUnsignedByte()
                             throws java.io.IOException
        Specified by:
        readUnsignedByte in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readShort

        public short readShort()
                        throws java.io.IOException
        Specified by:
        readShort in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readUnsignedShort

        public int readUnsignedShort()
                              throws java.io.IOException
        Specified by:
        readUnsignedShort in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readChar

        public char readChar()
                      throws java.io.IOException
        Specified by:
        readChar in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readInt

        public int readInt()
                    throws java.io.IOException
        Specified by:
        readInt in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readLong

        public long readLong()
                      throws java.io.IOException
        Specified by:
        readLong in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readFloat

        public float readFloat()
                        throws java.io.IOException
        Specified by:
        readFloat in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readDouble

        public double readDouble()
                          throws java.io.IOException
        Specified by:
        readDouble in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readLine

        public java.lang.String readLine()
                                  throws java.io.IOException
        Specified by:
        readLine in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readUTF

        public java.lang.String readUTF()
                                 throws java.io.IOException
        Specified by:
        readUTF in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readUTF

        public java.lang.String readUTF​(@NotNull
                                        io.deephaven.base.string.cache.CharSequenceAdapterBuilder output,
                                        @NotNull
                                        io.deephaven.base.string.cache.StringCache<java.lang.String> cache)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • readUTF

        public void readUTF​(@NotNull
                            io.deephaven.base.string.cache.CharSequenceAdapterBuilder output)
                     throws java.io.IOException
        Throws:
        java.io.IOException
      • read

        public void read​(java.nio.ByteBuffer dest,
                         int length)