Package com.graphdbapi.file
Interface RandomAccessFileObject
-
- All Superinterfaces:
AutoCloseable
public interface RandomAccessFileObject extends AutoCloseable
用于IO的RandomAccessFile
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description longgetFilePointer()返回此文件中的当前偏移量。longlength()返回此文件的长度。intread(byte[] b)从此文件中读取最多b.length个字节的数据到一个字节数组中。此方法会阻塞,直到至少有一个字节的输入可用。intread(byte[] b, int off, int len)从此文件中读取最多len个字节的数据到一个字节数组中。 此方法会阻塞,直到至少有一个字节的输入可用。booleanreadBoolean()从此文件中读取boolean。此方法从文件中读取单个字节,从当前文件指针开始。0的值表示false。任何其他值都表示true。 此方法会阻塞,直到读取字节、检测到流的结尾或抛出异常。bytereadByte()从此文件中读取一个有符号的八位值。此方法从文件中读取一个字节,从当前文件指针开始。 如果读取的字节是b,其中0 <= b <= 255, 则结果为:charreadChar()从此文件中读取一个字符。此方法从文件中读取两个字节,从当前文件指针开始。 如果读取的字节顺序为b1和b2,其中0 <= b1, b2 <= 255,则结果等于:doublereadDouble()从此文件中读取double。此方法从当前文件指针开始读取long值,就像通过readLong方法一样, 然后使用longBitsToDouble 将该 {@code long} 转换为 {@code double}类Double中的方法。floatreadFloat()从此文件中读取float。此方法读取int值,从当前文件指针开始,就像通过readInt方法一样, 然后使用intBitsToFloat 将该 {@code int} 转换为 {@code float}类Float中的方法。voidreadFully(byte[] b)从此文件中读取b.length个字节到字节数组中,从当前文件指针开始。 此方法从文件中重复读取,直到读取了请求的字节数。此方法会阻塞,直到读取了请求的字节数、检测到流的结尾或抛出异常。voidreadFully(byte[] b, int off, int len)从当前文件指针开始,从该文件中准确读取len个字节到字节数组中。此方法从文件中重复读取,直到读取了请求的字节数。 此方法会阻塞,直到读取了请求的字节数、检测到流的结尾或抛出异常。intreadInt()从此文件中读取一个有符号的 32 位整数。此方法从文件中读取 4 个字节,从当前文件指针开始。 如果读取的字节依次为b1、b2、b3和b4,其中0 <= b1, b2, b3, b4 <= 255,那么结果等于:StringreadLine()从此文件中读取下一行文本。此方法从文件中连续读取字节,从当前文件指针开始,直到到达行终止符或文件末尾。 通过取字符低八位的字节值并将字符的高八位设置为零,将每个字节转换为字符。因此,此方法不支持完整的 Unicode 字符集。longreadLong()从此文件中读取一个有符号的 64 位整数。此方法从文件中读取八个字节,从当前文件指针开始。 如果读取的字节依次为b1、b2、b3、b4、b5、b6、b7, 和b8,其中:shortreadShort()从此文件中读取一个带符号的 16 位数字。该方法从此文件读取两个字节,从当前文件指针开始。 如果按顺序读取的两个字节是b1和b2,其中两个值中的每一个都在0和255之间(含), 则结果等于:intreadUnsignedByte()从此文件中读取一个无符号的八位数字。此方法从此文件读取一个字节,从当前文件指针开始,并返回该字节。intreadUnsignedShort()从此文件中读取一个无符号的 16 位数字。此方法从文件中读取两个字节,从当前文件指针开始。 如果读取的字节顺序为b1和b2,其中0 <= b1, b2 <= 255,则结果等于:voidseek(long pos)设置文件指针偏移量,从该文件的开头开始测量,在该位置发生下一次读取或写入。 偏移量可能设置在文件末尾之外。设置超出文件末尾的偏移量不会改变文件长度。 只有在将偏移量设置为超出文件末尾之后,文件长度才会更改。voidsetLength(long newLength)设置此文件的长度。intskipBytes(int n)尝试跳过n字节的输入并丢弃跳过的字节。 此方法可能会跳过一些较小的字节数,可能为零。这可能由多种情况中的任何一种引起; 在跳过n个字节之前到达文件末尾只是一种可能性。 返回实际跳过的字节数。如果n为负,则不会跳过任何字节。voidwrite(byte[] b)将b.length个字节从指定的字节数组写入此文件,从当前文件指针开始。voidwrite(byte[] b, int off, int len)将len字节从从偏移量off开始的指定字节数组写入此文件。voidwriteBoolean(boolean v)将boolean作为一字节值写入文件。值true写为值(byte)1; 值false写为值(byte)0。写入从文件指针的当前位置开始。voidwriteByte(int v)将byte作为一字节值写入文件。写入从文件指针的当前位置开始。voidwriteChar(int v)将char作为两字节值写入文件,高字节在前。 写入从文件指针的当前位置开始。voidwriteChars(String s)将字符串作为字符序列写入文件。每个字符都被写入数据输出流,就像通过writeChar方法一样。写入从文件指针的当前位置开始。voidwriteDouble(double v)使用Double类中的doubleToLongBits方法将 double 参数转换为long, 然后将该long值作为八字节数量写入文件,高字节在前.写入从文件指针的当前位置开始。voidwriteFloat(float v)使用Float类中的floatToIntBits方法将 float 参数转换为int, 然后将该int值作为四字节数量写入文件,高字节在前.写入从文件指针的当前位置开始。voidwriteInt(int v)将int作为四个字节写入文件,高字节在前。 写入从文件指针的当前位置开始。voidwriteLong(long v)将一个long作为八个字节写入文件,高字节在前。 写入从文件指针的当前位置开始。voidwriteShort(int v)将short作为两个字节写入文件,高字节在前。 写入从文件指针的当前位置开始。-
Methods inherited from interface java.lang.AutoCloseable
close
-
-
-
-
Method Detail
-
read
int read(byte[] b, int off, int len) throws GraphDbFileIOException从此文件中读取最多len个字节的数据到一个字节数组中。 此方法会阻塞,直到至少有一个字节的输入可用。- Parameters:
b- 读取数据的缓冲区。off- 数组b中写入数据的起始偏移量。len- 读取的最大字节数。- Returns:
- 读入缓冲区的总字节数,如果由于已到达文件末尾而没有更多数据,则为
-1 - Throws:
GraphDbFileIOException- IO异常
-
read
int read(byte[] b) throws GraphDbFileIOException
从此文件中读取最多b.length个字节的数据到一个字节数组中。此方法会阻塞,直到至少有一个字节的输入可用。- Parameters:
b- 读取数据的缓冲区。- Returns:
- 读入缓冲区的总字节数,或者
-1如果由于已到达此文件的末尾而没有更多数据。 - Throws:
GraphDbFileIOException- IO异常
-
readFully
void readFully(byte[] b) throws GraphDbFileIOException从此文件中读取b.length个字节到字节数组中,从当前文件指针开始。 此方法从文件中重复读取,直到读取了请求的字节数。此方法会阻塞,直到读取了请求的字节数、检测到流的结尾或抛出异常。- Parameters:
b- 读取数据的缓冲区。- Throws:
GraphDbFileIOException- IO异常
-
readFully
void readFully(byte[] b, int off, int len) throws GraphDbFileIOException从当前文件指针开始,从该文件中准确读取len个字节到字节数组中。此方法从文件中重复读取,直到读取了请求的字节数。 此方法会阻塞,直到读取了请求的字节数、检测到流的结尾或抛出异常。- Parameters:
b- 读取数据的缓冲区。off- 到数据数组b的起始偏移量。len- 要读取的字节数.- Throws:
GraphDbFileIOException- IO异常
-
skipBytes
int skipBytes(int n) throws GraphDbFileIOException尝试跳过n字节的输入并丢弃跳过的字节。 此方法可能会跳过一些较小的字节数,可能为零。这可能由多种情况中的任何一种引起; 在跳过n个字节之前到达文件末尾只是一种可能性。 返回实际跳过的字节数。如果n为负,则不会跳过任何字节。- Parameters:
n- 要跳过的字节数。- Returns:
- 实际跳过的字节数。
- Throws:
GraphDbFileIOException- IO异常
-
write
void write(byte[] b) throws GraphDbFileIOException将b.length个字节从指定的字节数组写入此文件,从当前文件指针开始。- Parameters:
b- 数据- Throws:
GraphDbFileIOException- IO异常
-
write
void write(byte[] b, int off, int len) throws GraphDbFileIOException将len字节从从偏移量off开始的指定字节数组写入此文件。- Parameters:
b- 数据。off- 数据中的起始偏移量。len- 要写入的字节数.- Throws:
GraphDbFileIOException- IO异常
-
getFilePointer
long getFilePointer() throws GraphDbFileIOException返回此文件中的当前偏移量。- Returns:
- 从文件开头开始的偏移量,以字节为单位,在该处发生下一次读取或写入。
- Throws:
GraphDbFileIOException- IO异常
-
seek
void seek(long pos) throws GraphDbFileIOException
设置文件指针偏移量,从该文件的开头开始测量,在该位置发生下一次读取或写入。 偏移量可能设置在文件末尾之外。设置超出文件末尾的偏移量不会改变文件长度。 只有在将偏移量设置为超出文件末尾之后,文件长度才会更改。- Parameters:
pos- 设置文件指针的偏移位置,以从文件开头的字节为单位。- Throws:
GraphDbFileIOException- IO异常
-
length
long length() throws GraphDbFileIOException返回此文件的长度。- Returns:
- 此文件的长度,以字节为单位。
- Throws:
GraphDbFileIOException- IO异常
-
setLength
void setLength(long newLength) throws GraphDbFileIOException设置此文件的长度。如果
length方法返回的文件当前长度大于newLength参数,则文件将被截断。 在这种情况下,如果getFilePointer方法返回的文件偏移量大于newLength,则在此方法返回后, 偏移量将等于newLength。如果
length方法返回的文件当前长度小于newLength参数,则文件将被扩展。在这种情况下,未定义文件扩展部分的内容。- Parameters:
newLength- 需要的文件长度- Throws:
GraphDbFileIOException- 如果发生IO错误
-
readBoolean
boolean readBoolean() throws GraphDbFileIOException从此文件中读取boolean。此方法从文件中读取单个字节,从当前文件指针开始。0的值表示false。任何其他值都表示true。 此方法会阻塞,直到读取字节、检测到流的结尾或抛出异常。- Returns:
- 读取的
boolean值。 - Throws:
GraphDbFileIOException- IO异常
-
readByte
byte readByte() throws GraphDbFileIOException从此文件中读取一个有符号的八位值。此方法从文件中读取一个字节,从当前文件指针开始。 如果读取的字节是b,其中0 <= b <= 255, 则结果为:(byte)(b)此方法阻塞,直到读取字节、检测到流结束或抛出异常。
- Returns:
- 此文件的下一个字节作为有符号的八位
byte。 - Throws:
GraphDbFileIOException- IO异常
-
readUnsignedByte
int readUnsignedByte() throws GraphDbFileIOException从此文件中读取一个无符号的八位数字。此方法从此文件读取一个字节,从当前文件指针开始,并返回该字节。此方法阻塞,直到读取字节、检测到流的结尾或抛出异常。
- Returns:
- 此文件的下一个字节,解释为一个无符号的八位数字。
- Throws:
GraphDbFileIOException- IO异常
-
readShort
short readShort() throws GraphDbFileIOException从此文件中读取一个带符号的 16 位数字。该方法从此文件读取两个字节,从当前文件指针开始。 如果按顺序读取的两个字节是b1和b2,其中两个值中的每一个都在0和255之间(含), 则结果等于:(short)((b1 << 8) | b2)这个方法阻塞,直到读到两个字节,检测到流的结尾,或者异常被抛出。
- Returns:
- 此文件的下两个字节,解释为有符号的 16 位数字。
- Throws:
GraphDbFileIOException- IO异常
-
readUnsignedShort
int readUnsignedShort() throws GraphDbFileIOException从此文件中读取一个无符号的 16 位数字。此方法从文件中读取两个字节,从当前文件指针开始。 如果读取的字节顺序为b1和b2,其中0 <= b1, b2 <= 255,则结果等于:(b1 << 8) | b2此方法阻塞,直到读取两个字节,检测到流的结尾,或者抛出异常。
- Returns:
- 此文件的下两个字节,解释为一个无符号的 16 位整数
- Throws:
GraphDbFileIOException- IO异常
-
readChar
char readChar() throws GraphDbFileIOException从此文件中读取一个字符。此方法从文件中读取两个字节,从当前文件指针开始。 如果读取的字节顺序为b1和b2,其中0 <= b1, b2 <= 255,则结果等于:(char)((b1 << 8) | b2)此方法阻塞,直到读取两个字节,检测到流的结尾,或抛出异常。
- Returns:
- 此文件的下两个字节,解释为
char - Throws:
GraphDbFileIOException- IO异常
-
readInt
int readInt() throws GraphDbFileIOException从此文件中读取一个有符号的 32 位整数。此方法从文件中读取 4 个字节,从当前文件指针开始。 如果读取的字节依次为b1、b2、b3和b4,其中0 <= b1, b2, b3, b4 <= 255,那么结果等于:(b1 << 24) | (b2 << 16) + (b3 << 8) + b4此方法阻塞,直到读取了四个字节、检测到流的结尾或抛出异常。
- Returns:
- 此文件的下四个字节,解释为
int - Throws:
GraphDbFileIOException- IO异常
-
readLong
long readLong() throws GraphDbFileIOException从此文件中读取一个有符号的 64 位整数。此方法从文件中读取八个字节,从当前文件指针开始。 如果读取的字节依次为b1、b2、b3、b4、b5、b6、b7, 和b8,其中:0 <= b1, b2, b3, b4, b5, b6, b7, b8 <=255,那么结果等于:
((long)b1 << 56) + ((long)b2 << 48) + ((long)b3 << 40) + ((long)b4 << 32) + ((long)b5 << 24) + ((long)b6 << 16) + ((long)b7 << 8) + b8这个方法阻塞直到读到八个字节,检测到流的结尾,或抛出异常。
- Returns:
- 此文件的下八个字节,解释为
long - Throws:
GraphDbFileIOException- IO异常
-
readFloat
float readFloat() throws GraphDbFileIOException从此文件中读取float。此方法读取int值,从当前文件指针开始,就像通过readInt方法一样, 然后使用intBitsToFloat 将该 {@code int} 转换为 {@code float}类Float中的方法。此方法阻塞,直到读取了四个字节,检测到流的结尾,或者抛出异常。
- Returns:
- 此文件的下四个字节,解释为
float。 - Throws:
GraphDbFileIOException- IO异常
-
readDouble
double readDouble() throws GraphDbFileIOException从此文件中读取double。此方法从当前文件指针开始读取long值,就像通过readLong方法一样, 然后使用longBitsToDouble 将该 {@code long} 转换为 {@code double}类Double中的方法。此方法阻塞,直到读取了 8 个字节,检测到流的结尾,或者抛出异常。
- Returns:
- 此文件的下八个字节,解释为
double。 - Throws:
GraphDbFileIOException- IO异常
-
readLine
String readLine() throws GraphDbFileIOException
从此文件中读取下一行文本。此方法从文件中连续读取字节,从当前文件指针开始,直到到达行终止符或文件末尾。 通过取字符低八位的字节值并将字符的高八位设置为零,将每个字节转换为字符。因此,此方法不支持完整的 Unicode 字符集。一行文本以回车符(
'\r')、换行符('\n')、回车符后紧跟换行符结束字符,或文件的结尾。 行终止字符被丢弃并且不作为返回字符串的一部分包含在内。这个方法阻塞直到读到换行符,读回一个回车和后面的字节(看是否是换行符),到达文件末尾,或者抛出异常。
- Returns:
- 此文件中的下一行文本,如果在读取一个字节之前遇到文件结尾,则返回 null。
- Throws:
GraphDbFileIOException- IO异常
-
writeBoolean
void writeBoolean(boolean v) throws GraphDbFileIOException将boolean作为一字节值写入文件。值true写为值(byte)1; 值false写为值(byte)0。写入从文件指针的当前位置开始。- Parameters:
v- 要写入的boolean值- Throws:
GraphDbFileIOException- IO异常
-
writeByte
void writeByte(int v) throws GraphDbFileIOException将byte作为一字节值写入文件。写入从文件指针的当前位置开始。- Parameters:
v- 要写入的byte值- Throws:
GraphDbFileIOException- IO异常
-
writeShort
void writeShort(int v) throws GraphDbFileIOException将short作为两个字节写入文件,高字节在前。 写入从文件指针的当前位置开始。- Parameters:
v- 要编写的short- Throws:
GraphDbFileIOException- IO异常
-
writeChar
void writeChar(int v) throws GraphDbFileIOException将char作为两字节值写入文件,高字节在前。 写入从文件指针的当前位置开始。- Parameters:
v- 要写入的char值- Throws:
GraphDbFileIOException- IO异常
-
writeInt
void writeInt(int v) throws GraphDbFileIOException将int作为四个字节写入文件,高字节在前。 写入从文件指针的当前位置开始。- Parameters:
v- 要写入的int- Throws:
GraphDbFileIOException- IO异常
-
writeLong
void writeLong(long v) throws GraphDbFileIOException将一个long作为八个字节写入文件,高字节在前。 写入从文件指针的当前位置开始。- Parameters:
v- 要写入的long- Throws:
GraphDbFileIOException- IO异常
-
writeFloat
void writeFloat(float v) throws GraphDbFileIOException使用Float类中的floatToIntBits方法将 float 参数转换为int, 然后将该int值作为四字节数量写入文件,高字节在前.写入从文件指针的当前位置开始。- Parameters:
v- 要写入的float值- Throws:
GraphDbFileIOException- IO异常
-
writeDouble
void writeDouble(double v) throws GraphDbFileIOException使用Double类中的doubleToLongBits方法将 double 参数转换为long, 然后将该long值作为八字节数量写入文件,高字节在前.写入从文件指针的当前位置开始。- Parameters:
v- 要写入的double值- Throws:
GraphDbFileIOException- IO异常
-
writeChars
void writeChars(String s) throws GraphDbFileIOException
将字符串作为字符序列写入文件。每个字符都被写入数据输出流,就像通过writeChar方法一样。写入从文件指针的当前位置开始。- Parameters:
s- 是要写入的String值- Throws:
GraphDbFileIOException- IO异常
-
-