public class BufferedRandomAccessFile
extends java.io.RandomAccessFile
Modifier and Type | Field and Description |
---|---|
private int |
bufend |
private byte[] |
buffer
Uses a byte instead of a char buffer for efficiency reasons.
|
private int |
bufpos |
private int |
BUFSIZE
Buffer size.
|
private long |
realpos
The position inside the actual file.
|
Constructor and Description |
---|
BufferedRandomAccessFile(java.io.File file,
java.lang.String mode,
int bufsize)
Creates a new instance of the BufferedRandomAccessFile.
|
BufferedRandomAccessFile(java.lang.String filename,
java.lang.String mode,
int bufsize)
Creates a new instance of the BufferedRandomAccessFile.
|
Modifier and Type | Method and Description |
---|---|
private int |
fillBuffer()
Reads the next BUFSIZE bytes into the internal buffer.
|
long |
getFilePointer() |
private void |
invalidate()
Clears the local buffer.
|
int |
read() |
int |
read(byte[] b,
int off,
int len) |
void |
seek(long pos) |
close, getChannel, getFD, length, read, readBoolean, readByte, readChar, readDouble, readFloat, readFully, readFully, readInt, readLine, readLong, readShort, readUnsignedByte, readUnsignedShort, readUTF, setLength, skipBytes, write, write, write, writeBoolean, writeByte, writeBytes, writeChar, writeChars, writeDouble, writeFloat, writeInt, writeLong, writeShort, writeUTF
private final byte[] buffer
private int bufend
private int bufpos
private long realpos
private final int BUFSIZE
public BufferedRandomAccessFile(java.lang.String filename, java.lang.String mode, int bufsize) throws java.io.FileNotFoundException
filename
- The path of the file to open.mode
- Specifies the mode to use ("r", "rw", etc.) See the BufferedLineReader
documentation for more information.bufsize
- The buffer size (in bytes) to use.java.io.FileNotFoundException
- If the mode is "r" but the given string does not denote an
existing regular file, or if the mode begins with "rw" but the given string does not denote
an existing, writable regular file and a new regular file of that name cannot be created, or
if some other error occurs while opening or creating the file.public BufferedRandomAccessFile(java.io.File file, java.lang.String mode, int bufsize) throws java.io.FileNotFoundException
file
- The file to open.mode
- Specifies the mode to use ("r", "rw", etc.) See the BufferedLineReader
documentation for more information.bufsize
- The buffer size (in bytes) to use.java.io.FileNotFoundException
- If the mode is "r" but the given file path does not denote an
existing regular file, or if the mode begins with "rw" but the given file path does not denote
an existing, writable regular file and a new regular file of that name cannot be created, or
if some other error occurs while opening or creating the file.public final int read() throws java.io.IOException
read
in class java.io.RandomAccessFile
java.io.IOException
private int fillBuffer() throws java.io.IOException
java.io.IOException
- If the first byte cannot be read for any reason other than end of file,
or if the random access file has been closed, or if some other I/O error occurs.private void invalidate() throws java.io.IOException
java.io.IOException
- If an I/O error occurs.public int read(byte[] b, int off, int len) throws java.io.IOException
read
in class java.io.RandomAccessFile
java.io.IOException
public long getFilePointer() throws java.io.IOException
getFilePointer
in class java.io.RandomAccessFile
java.io.IOException
public void seek(long pos) throws java.io.IOException
seek
in class java.io.RandomAccessFile
java.io.IOException