## org.python.core.io
Class BufferedRandom

    java.lang.Object
      org.python.core.io.IOBase
          org.python.core.io.BufferedIOBase
              org.python.core.io.BufferedIOMixin
                  org.python.core.io.BufferedRandom

Direct Known Subclasses:
  LineBufferedRandom

    public class BufferedRandom

extends BufferedIOMixin

A buffered reader and writer together for a random access file.

Author:
  Philip Jenvey

Field Summary

Fields inherited from class org.python.core.io.IOBase
`DEFAULT_BUFFER_SIZE`

Constructor Summary
`BufferedRandom(RawIOBase rawIO, int bufferSize)` Construct a BufferedRandom of bufferSize, wrapping the given RawIOBase.

Method Summary
`void` `flush()` Flushes write buffers, if applicable.
`ByteBuffer` `peek(int size)` Returns buffered bytes without advancing the position.
`ByteBuffer` `read(int size)` Read and return up to size bytes, contained in a ByteBuffer.
`int` `read1(ByteBuffer bytes)` Reads up to bytes.remaining() bytes.
`ByteBuffer` `readall()` Read until EOF.
`int` `readinto(ByteBuffer bytes)` Read up to bytes.remaining() bytes into the given ByteBuffer.
`long` `seek(long pos, int whence)` Seek to byte offset pos relative to position indicated by whence: 0 Start of stream (the default). pos should be >= 0; 1 Current position - whence may be negative; 2 End of stream - whence usually negative.
`long` `tell()` Return the current stream position.
`int` `write(ByteBuffer bytes)` Write the given ByteBuffer to the IO stream.

Methods inherited from class org.python.core.io.BufferedIOMixin
`asInputStream, asOutputStream, close, closed, fileno, isatty, readable, truncate, writable`

Methods inherited from class org.python.core.io.BufferedIOBase
`buffered, clear`

Methods inherited from class org.python.core.io.IOBase
`checkClosed, checkReadable, checkWritable, seek`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BufferedRandom

    public BufferedRandom(RawIOBase rawIO,
                          int bufferSize)

  Construct a BufferedRandom of bufferSize, wrapping the given RawIOBase.

  Parameters:
    `rawIO` -
    `bufferSize` -

Method Detail

### seek

    public long seek(long pos,
                     int whence)

  Description copied from class: `IOBase`
  Seek to byte offset pos relative to position indicated by whence: 0 Start of stream (the default). pos should be >= 0; 1 Current position - whence may be negative; 2 End of stream - whence usually negative. Returns the new absolute position.

  Overrides:
    `seek` in class `BufferedIOMixin`
  Parameters:
    `pos` - a long position value
    `whence` - an int whence value
  Returns:
    a long position value seeked to

### tell

    public long tell()

  Description copied from class: `IOBase`
  Return the current stream position.

  Overrides:
    `tell` in class `BufferedIOMixin`
  Returns:
    a long position value

### read

    public ByteBuffer read(int size)

  Description copied from class: `BufferedIOBase`
  Read and return up to size bytes, contained in a ByteBuffer. ByteBuffers returned from read are already flip()'d. Returns an empty ByteBuffer on EOF

  Overrides:
    `read` in class `BufferedIOBase`
  Parameters:
    `size` - the number of bytes to read
  Returns:
    a ByteBuffer containing the bytes read

### readall

    public ByteBuffer readall()

  Description copied from class: `BufferedIOBase`
  Read until EOF.

  Overrides:
    `readall` in class `BufferedIOBase`
  Returns:
    a ByteBuffer containing the bytes read

### readinto

    public int readinto(ByteBuffer bytes)

  Description copied from class: `BufferedIOBase`
  Read up to bytes.remaining() bytes into the given ByteBuffer. Returns number of bytes read (0 for EOF).

  Overrides:
    `readinto` in class `BufferedIOBase`
  Parameters:
    `bytes` - a ByteBuffer to read bytes into
  Returns:
    the amount of data read as an int

### write

    public int write(ByteBuffer bytes)

  Description copied from class: `BufferedIOBase`
  Write the given ByteBuffer to the IO stream. Returns the number of bytes written, which may be less than bytes.remaining().

  Overrides:
    `write` in class `BufferedIOBase`
  Parameters:
    `bytes` - a ByteBuffer value
  Returns:
    the number of bytes written as an int

### peek

    public ByteBuffer peek(int size)

  Description copied from class: `BufferedIOBase`
  Returns buffered bytes without advancing the position. The argument indicates a desired minimal number of bytes; we do at most one raw read to satisfy it. We never return more than the size of the underlying buffer;

  Overrides:
    `peek` in class `BufferedIOBase`
  Parameters:
    `size` - the minimal number of bytes as an int
  Returns:
    a ByteBuffer containing the bytes read

### read1

    public int read1(ByteBuffer bytes)

  Description copied from class: `BufferedIOBase`
  Reads up to bytes.remaining() bytes. Returns up to bytes.remaining() bytes. If at least one byte is buffered, we only return buffered bytes. Otherwise, we do one raw read.

  Overrides:
    `read1` in class `BufferedIOBase`
  Parameters:
    `bytes` - a ByteBuffer to read bytes into
  Returns:
    the amount of data read as an int

### flush

    public void flush()

  Description copied from class: `IOBase`
  Flushes write buffers, if applicable. This is a no-op for read-only and non-blocking streams.

  Overrides:
    `flush` in class `BufferedIOMixin`

Jython homepage