RandomAccessFile
2018-11-22 本文已影响0人
spraysss
File 构造函数
| 函数签名 | 含义 |
|---|---|
RandomAccessFile(File file, String mode) |
文件不存在时创建文件,或者打开文件,并指定操作 |
| ```RandomAccessFile(String path, String mode) | 文件不存在时创建文件,或者打开文件,并指定操作 |
mode 类型
| mode | 含义 |
|---|---|
r |
只读 |
rw |
读写 |
rwd |
读写,并且文件内容在改变时会同步到磁盘 |
rws |
并且文件元数据或者文件内容在改变时会同步到磁盘 |
RandomAccessFile 相关方法
| 函数签名 | 含义 |
|---|---|
void close() |
关闭文件 |
FileDescriptor getFD() |
获得文件描述对象 |
long getFilePointer() |
获取文件指针偏移量 |
long length() |
获取文件长度 |
int read() |
返回下一个字节(0-255),到达文件尾返回-1 |
int read(byte[] b) |
阻塞读取b.length个字节,返回实际读取的字节数, |
char readChar() |
从文件中读取并返回一个字符。该方法从从当前文件指针开始的文件中读取两个字节。如果按顺序读取的字节是b1和b2,其中0 <= b1, b2 <= 255 结果等同于 (char) ((b1<< 8) | b2)
|
int readInt() |
从文件中读取并返回一个32位整数。该方法从从当前文件指针开始的文件中读取4个字节。如果按顺序读取的字节为b1、b2、b3和b4,其中0 <= b1、b2、b3、b4 <= 255,则结果为(b1 < 24) | (b2 < 16) | (b3 < 8) | b4。此方法将阻塞,直到读取四个字节为止 |
void seek(long pos) |
设置文件指针偏移量(从该文件的开头开始测量),下次读或写发生在这个位置 ,偏移量可以大于文件长度 |
void setLength(long newLength) |
设置此文件的长度,如果新长度小于文件之前的长度,文件会被截断,如果文件指针大于之前的长度,那么文件指针会被设置为新长度 |
int skipBytes(int n) |
试图移动n字节的文件指针,返回实际移动的字节数 |
void write(byte[] b) |
在文件指针处写入字节数组 |
void write(int b) |
写入int的底8位 |
void writeChars(String s) |
写入string |
void writeInt(int i) |
写入int |