江民钦的博客

show me code

Java IO:RandomAccessFile

在Java中RandomAccessFile可以对文件进行随机的访问操作,包括读和写,具有两个访问模式,一个是只读(r),一个是读写(rw),需要在创建RandomAccessFile对象时传入参数进行设置,第一个参数是文件路径,第二个参数为访问模式。该类读写是基于指针的操作。

创建一个RandomAccessFile对象进行读写

1
2
3
4
RandomAccessFile file=new RandomAccessFile("D:\\file.txt","rw");
int data=file.read();
file.write("hello world".getBytes());
file.close();

read()方法会返回当前指针所指向位置的字节内容,read()在读取完一个字节后,会自动把指针移向下一个位置。同样,write()方法在调用完之后也会自动移动指针。

在RandomAccessFile中进行来回读写

1
2
3
4
RandomAccessFile file=new RandomAccessFile("D:\\file.txt","rw");
file.seek(200);
long pointer=file.getFilePointer();
file.close();

通过seek()方法可以设置指针位置,getFilePointer()方法可以返回当前指针所在位置。