java.io.Closeable
, java.lang.AutoCloseable
, java.lang.Cloneable
, RandomAccess
, RandomAccessRead
, RandomAccessWrite
public class RandomAccessBuffer extends java.lang.Object implements RandomAccess, java.lang.Cloneable
Constructor | Description |
---|---|
RandomAccessBuffer() |
Default constructor.
|
RandomAccessBuffer(byte[] input) |
Create a random access buffer using the given byte array.
|
RandomAccessBuffer(java.io.InputStream input) |
Create a random access buffer of the given input stream by copying the data.
|
Modifier and Type | Method | Description |
---|---|---|
int |
available() |
Returns an estimate of the number of bytes that can be read.
|
void |
clear() |
Clears all data of the buffer.
|
RandomAccessBuffer |
clone() |
|
void |
close() |
|
long |
getPosition() |
Returns offset of next byte to be returned by a read method.
|
boolean |
isClosed() |
Returns true if this stream has been closed.
|
boolean |
isEOF() |
A simple test to see if we are at the end of the data.
|
long |
length() |
The total number of bytes that are available.
|
int |
peek() |
This will peek at the next byte.
|
int |
read() |
Read a single byte of data.
|
int |
read(byte[] b) |
Read a buffer of data.
|
int |
read(byte[] b,
int offset,
int length) |
Read a buffer of data.
|
byte[] |
readFully(int length) |
Reads a given number of bytes.
|
void |
rewind(int bytes) |
Seek backwards the given number of bytes.
|
void |
seek(long position) |
Seek to a position in the data.
|
void |
write(byte[] b) |
Write a buffer of data to the stream.
|
void |
write(byte[] b,
int offset,
int length) |
Write a buffer of data to the stream.
|
void |
write(int b) |
Write a byte to the stream.
|
public RandomAccessBuffer()
public RandomAccessBuffer(byte[] input)
input
- the byte array to be readpublic RandomAccessBuffer(java.io.InputStream input) throws java.io.IOException
input
- the input stream to be readjava.io.IOException
- if something went wrong while copying the datapublic RandomAccessBuffer clone()
clone
in class java.lang.Object
public void close() throws java.io.IOException
close
in interface java.lang.AutoCloseable
close
in interface java.io.Closeable
java.io.IOException
public void clear()
clear
in interface RandomAccessWrite
public void seek(long position) throws java.io.IOException
seek
in interface RandomAccessRead
position
- The position to seek to.java.io.IOException
- If there is an error while seeking.public long getPosition() throws java.io.IOException
getPosition
in interface RandomAccessRead
RandomAccessRead.read()
(if no more bytes are left it returns a value >= length of source)java.io.IOException
public int read() throws java.io.IOException
read
in interface RandomAccessRead
java.io.IOException
- If there is an error while reading the data.public int read(byte[] b, int offset, int length) throws java.io.IOException
read
in interface RandomAccessRead
b
- The buffer to write the data to.offset
- Offset into the buffer to start writing.length
- The amount of data to attempt to read.java.io.IOException
- If there was an error while reading the data.public long length() throws java.io.IOException
length
in interface RandomAccessRead
java.io.IOException
- If there is an IO error while determining the
length of the data stream.public void write(int b) throws java.io.IOException
write
in interface RandomAccessWrite
b
- The byte to write.java.io.IOException
- If there is an IO error while writing.public void write(byte[] b) throws java.io.IOException
write
in interface RandomAccessWrite
b
- The buffer to get the data from.java.io.IOException
- If there is an error while writing the data.public void write(byte[] b, int offset, int length) throws java.io.IOException
write
in interface RandomAccessWrite
b
- The buffer to get the data from.offset
- An offset into the buffer to get the data from.length
- The length of data to write.java.io.IOException
- If there is an error while writing the data.public boolean isClosed()
isClosed
in interface RandomAccessRead
public boolean isEOF() throws java.io.IOException
isEOF
in interface RandomAccessRead
java.io.IOException
- If there is an error reading the next byte.public int available() throws java.io.IOException
available
in interface RandomAccessRead
java.io.IOException
- if this random access has been closedpublic int peek() throws java.io.IOException
peek
in interface RandomAccessRead
java.io.IOException
- If there is an error reading the next byte.public void rewind(int bytes) throws java.io.IOException
rewind
in interface RandomAccessRead
bytes
- the number of bytes to be seeked backwardsjava.io.IOException
- If there is an error while seekingpublic byte[] readFully(int length) throws java.io.IOException
readFully
in interface RandomAccessRead
length
- the number of bytes to be readjava.io.IOException
- if an I/O error occurs while reading datapublic int read(byte[] b) throws java.io.IOException
read
in interface RandomAccessRead
b
- The buffer to write the data to.java.io.IOException
- If there was an error while reading the data.Copyright © 2002–2018. All rights reserved.