Interface Buffer

All Superinterfaces:
AutoCloseable, Closeable

public interface Buffer extends Closeable
A dynamically growing data buffer. Data can be read from any point within the buffer, and written to the end of a buffer.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    append(byte b)
    Appends a single byte to the end of the buffer.
    void
    append(byte[] b, int off, int len)
    Appends len bytes from the specified byte array starting at offset off to the end of the buffer.
    void
    Closes the buffer and releases any system resources associated with it.
    int
    Returns the current length of the buffer.
    byte
    read(int pos)
    Reads a single byte of data from the buffer.
    int
    read(int pos, byte[] b, int off, int len)
    Reads up to len bytes of data from the buffer into an array of bytes.
  • Method Details

    • read

      byte read(int pos) throws IOException
      Reads a single byte of data from the buffer.
      Parameters:
      pos - the offset position, measured in bytes from the beginning of the buffer, at which to read the data.
      Returns:
      byte at given offset position.
      Throws:
      IOException - if an I/O exception occurs.
      IndexOutOfBoundsException - if pos exceeds the buffer length.
    • read

      int read(int pos, byte[] b, int off, int len) throws IOException
      Reads up to len bytes of data from the buffer into an array of bytes. An attempt is made to read as many as len bytes, but a smaller number may be read. The number of bytes actually read is returned as an integer.
      Parameters:
      pos - the offset position, measured in bytes from the beginning of the buffer, at which to read the data.
      b - the array of bytes to write the data to.
      off - the start offset in the array at which the data is written.
      len - the maximum number of bytes to read.
      Returns:
      the number of bytes read into the array.
      Throws:
      IOException - if an I/O exception occurs.
    • append

      void append(byte b) throws IOException
      Appends a single byte to the end of the buffer.
      Parameters:
      b - the byte to append.
      Throws:
      IOException - if an I/O exception occurs.
      OverflowException - if appending a single byte to the buffer would exceed its limit.
    • append

      void append(byte[] b, int off, int len) throws IOException
      Appends len bytes from the specified byte array starting at offset off to the end of the buffer.
      Parameters:
      b - the array of bytes to read the data from.
      off - the start offset in the array at which the data is read.
      len - the number of bytes to be appended to the buffer.
      Throws:
      IOException - if an I/O exception occurs.
      OverflowException - if appending len bytes to the buffer would exceed its limit.
    • length

      int length() throws IOException
      Returns the current length of the buffer.
      Returns:
      the length of the file, measured in bytes.
      Throws:
      IOException - if an I/O exception occurs.
    • close

      void close() throws IOException
      Closes the buffer and releases any system resources associated with it. A closed buffer cannot perform input or output operations and cannot be reopened.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException - if an I/O exception occurs.