public class RamFileRandomAccessContent extends java.lang.Object implements RandomAccessContent
| Modifier and Type | Field and Description |
|---|---|
private byte[] |
buf
Buffer
|
private byte[] |
buffer1
buffer
|
private byte[] |
buffer2
buffer
|
private byte[] |
buffer4
buffer
|
private byte[] |
buffer8
buffer
|
private RamFileObject |
file
File
|
protected int |
filePointer
File Pointer
|
private java.io.InputStream |
rafis |
| Constructor and Description |
|---|
RamFileRandomAccessContent(RamFileObject file,
RandomAccessMode mode) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this random access file stream and releases any system resources associated with the stream.
|
long |
getFilePointer()
Returns the current offset in this file.
|
java.io.InputStream |
getInputStream()
Get the input stream.
|
private int |
getLeftBytes() |
long |
length()
Returns the length of this file.
|
boolean |
readBoolean() |
byte |
readByte() |
char |
readChar() |
double |
readDouble() |
float |
readFloat() |
void |
readFully(byte[] b) |
void |
readFully(byte[] b,
int off,
int len) |
int |
readInt() |
java.lang.String |
readLine() |
long |
readLong() |
short |
readShort() |
int |
readUnsignedByte() |
int |
readUnsignedShort() |
java.lang.String |
readUTF() |
void |
seek(long pos)
Sets the file-pointer offset, measured from the beginning of this file, at which the next read or write occurs.
|
void |
setLength(long newLength)
Sets the length of this content.
|
int |
skipBytes(int n) |
static byte[] |
toBytes(long n,
byte[] b)
Build a 8-byte array from a long.
|
static long |
toLong(byte[] b)
Build a long from first 8 bytes of the array.
|
static short |
toShort(byte[] b)
Build a short from first 2 bytes of the array.
|
static int |
toUnsignedShort(byte[] b)
Build a short from first 2 bytes of the array.
|
void |
write(byte[] b) |
void |
write(byte[] b,
int off,
int len) |
void |
write(int b) |
void |
writeBoolean(boolean v) |
void |
writeByte(int i) |
void |
writeBytes(java.lang.String s) |
void |
writeChar(int v) |
void |
writeChars(java.lang.String s) |
void |
writeDouble(double v) |
void |
writeFloat(float v) |
void |
writeInt(int v) |
void |
writeLong(long v) |
void |
writeShort(int v) |
void |
writeUTF(java.lang.String str) |
protected int filePointer
private byte[] buf
private final byte[] buffer8
private final byte[] buffer4
private final byte[] buffer2
private final byte[] buffer1
private final RamFileObject file
private final java.io.InputStream rafis
public RamFileRandomAccessContent(RamFileObject file, RandomAccessMode mode)
file - The file to access.mode - The access mode.public long getFilePointer()
throws java.io.IOException
RandomAccessContentgetFilePointer in interface RandomAccessContentjava.io.IOException - if an I/O error occurs.public void seek(long pos)
throws java.io.IOException
RandomAccessContentThe offset may be set beyond the end of the file. Setting the offset beyond the end of the file does not change the file length. The file length will change only by writing after the offset has been set beyond the end of the file.
Notice: If you use RandomAccessContent.getInputStream() you have to re-get the InputStream after calling
RandomAccessContent.seek(long)
seek in interface RandomAccessContentpos - the offset position, measured in bytes from the beginning of the file, at which to set the file
pointer.java.io.IOException - if pos is less than 0 or if an I/O error occurs.public long length()
throws java.io.IOException
RandomAccessContentlength in interface RandomAccessContentjava.io.IOException - if an I/O error occurs.public void close()
throws java.io.IOException
RandomAccessContentA closed random access file cannot perform input or output operations and cannot be reopened.
If this file has an associated channel then the channel is closed as well.
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in interface RandomAccessContentjava.io.IOException - if an I/O error occurs.public byte readByte()
throws java.io.IOException
readByte in interface java.io.DataInputjava.io.IOExceptionpublic char readChar()
throws java.io.IOException
readChar in interface java.io.DataInputjava.io.IOExceptionpublic double readDouble()
throws java.io.IOException
readDouble in interface java.io.DataInputjava.io.IOExceptionpublic float readFloat()
throws java.io.IOException
readFloat in interface java.io.DataInputjava.io.IOExceptionpublic int readInt()
throws java.io.IOException
readInt in interface java.io.DataInputjava.io.IOExceptionpublic int readUnsignedByte()
throws java.io.IOException
readUnsignedByte in interface java.io.DataInputjava.io.IOExceptionpublic int readUnsignedShort()
throws java.io.IOException
readUnsignedShort in interface java.io.DataInputjava.io.IOExceptionpublic long readLong()
throws java.io.IOException
readLong in interface java.io.DataInputjava.io.IOExceptionpublic short readShort()
throws java.io.IOException
readShort in interface java.io.DataInputjava.io.IOExceptionpublic boolean readBoolean()
throws java.io.IOException
readBoolean in interface java.io.DataInputjava.io.IOExceptionpublic int skipBytes(int n)
throws java.io.IOException
skipBytes in interface java.io.DataInputjava.io.IOExceptionpublic void readFully(byte[] b)
throws java.io.IOException
readFully in interface java.io.DataInputjava.io.IOExceptionpublic void readFully(byte[] b,
int off,
int len)
throws java.io.IOException
readFully in interface java.io.DataInputjava.io.IOExceptionprivate int getLeftBytes()
public java.lang.String readUTF()
throws java.io.IOException
readUTF in interface java.io.DataInputjava.io.IOExceptionpublic void write(byte[] b,
int off,
int len)
throws java.io.IOException
write in interface java.io.DataOutputjava.io.IOExceptionpublic void write(byte[] b)
throws java.io.IOException
write in interface java.io.DataOutputjava.io.IOExceptionpublic void writeByte(int i)
throws java.io.IOException
writeByte in interface java.io.DataOutputjava.io.IOExceptionpublic static long toLong(byte[] b)
b - The byte[] to convert.public static byte[] toBytes(long n,
byte[] b)
n - The number to convert.b - The array to fill.public static short toShort(byte[] b)
b - The byte[] to convert.public static int toUnsignedShort(byte[] b)
b - The byte[] to convert.public void write(int b)
throws java.io.IOException
write in interface java.io.DataOutputjava.io.IOExceptionpublic void writeBoolean(boolean v)
throws java.io.IOException
writeBoolean in interface java.io.DataOutputjava.io.IOExceptionpublic void writeBytes(java.lang.String s)
throws java.io.IOException
writeBytes in interface java.io.DataOutputjava.io.IOExceptionpublic void writeChar(int v)
throws java.io.IOException
writeChar in interface java.io.DataOutputjava.io.IOExceptionpublic void writeChars(java.lang.String s)
throws java.io.IOException
writeChars in interface java.io.DataOutputjava.io.IOExceptionpublic void writeDouble(double v)
throws java.io.IOException
writeDouble in interface java.io.DataOutputjava.io.IOExceptionpublic void writeFloat(float v)
throws java.io.IOException
writeFloat in interface java.io.DataOutputjava.io.IOExceptionpublic void writeInt(int v)
throws java.io.IOException
writeInt in interface java.io.DataOutputjava.io.IOExceptionpublic void writeLong(long v)
throws java.io.IOException
writeLong in interface java.io.DataOutputjava.io.IOExceptionpublic void writeShort(int v)
throws java.io.IOException
writeShort in interface java.io.DataOutputjava.io.IOExceptionpublic void writeUTF(java.lang.String str)
throws java.io.IOException
writeUTF in interface java.io.DataOutputjava.io.IOExceptionpublic java.lang.String readLine()
throws java.io.IOException
readLine in interface java.io.DataInputjava.io.IOExceptionpublic java.io.InputStream getInputStream()
throws java.io.IOException
RandomAccessContent
Notice: If you use RandomAccessContent.seek(long) you have to re-get the InputStream
getInputStream in interface RandomAccessContentjava.io.IOException - if an I/O error occurs.public void setLength(long newLength)
throws java.io.IOException
RandomAccessContent
If the the newLength argument is smaller than RandomAccessContent.length(), the content is truncated.
If the the newLength argument is greater than RandomAccessContent.length(), the content grows with undefined data.
setLength in interface RandomAccessContentnewLength - The desired content lengthjava.io.IOException - If an I/O error occurs