@NotThreadSafe public class ByteArrayReadOnlyFile extends AbstractReadOnlyFile
Constructor and Description |
---|
ByteArrayReadOnlyFile(byte[] buf)
Constructs a new byte array read only file.
|
ByteArrayReadOnlyFile(byte[] buffer,
int offset,
int length)
Constructs a new byte array read only file.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this read-only file and releases any non-heap resources
allocated for it.
|
long |
getFilePointer()
Returns the current byte position in the file as a zero-based index.
|
long |
length()
Returns the length of the file in bytes.
|
int |
read()
Reads and returns the next byte or -1 if the end of the file has been
reached.
|
int |
read(byte[] buffer,
int offset,
int remaining)
Reads up to
len bytes of data from this read only file into
the given array. |
void |
seek(long pos)
Sets the current byte position in the file as a zero-based index at
which the next read occurs.
|
read, readFully, readFully
@CreatesObligation public ByteArrayReadOnlyFile(byte[] buf)
buf
- the array to read from.
Note that this array is not copied, so beware of
concurrent modifications!public ByteArrayReadOnlyFile(byte[] buffer, int offset, int length)
buffer
- the array to read from.
Note that this array is not copied, so beware of
concurrent modifications!offset
- the start of the window to read from the array.length
- the length of the window to read from the array.public void close() throws IOException
ReadOnlyFile
IOException
- On any I/O failure.public long getFilePointer()
ReadOnlyFile
public long length()
ReadOnlyFile
public int read()
ReadOnlyFile
public int read(byte[] buffer, int offset, int remaining)
ReadOnlyFile
len
bytes of data from this read only file into
the given array.
This method blocks until at least one byte of input is available unless
len
is zero.buffer
- The buffer to fill with data.offset
- The start offset of the data.remaining
- The maximum number of bytes to read.-1
if there is
no more data because the end of the file has been reached.public void seek(long pos) throws IOException
ReadOnlyFile
DefaultReadOnlyFile
passes "r"
as a parameter to the constructor of its super-class
RandomAccessFile
.
With Oracle's JSE implementation, on the Windows platform this
implementation allows to seek past the end of file, but on the Linux
platform it doesn't.pos
- The current byte position as a zero-based index.IOException
- If pos
is less than 0
or on any
I/O failure.Copyright © 2005–2018 Schlichtherle IT Services. All rights reserved.