Java中的RandomAccessFile类允许应用程序在文件中的任意位置读取或写入数据,而不需要对文件进行顺序访问或重复开头。它支持以读写模式进行文件访问及随机访问,可以读取或写入单个字节、字节数组和字符数组。
- 创建RandomAccessFile对象
首先需要创建RandomAccessFile对象,可以通过指定文件名及打开模式来实现。打开模式有”r”(只读模式)、”rw”(读写模式)和”rwd”(读写模式,每个更新同步写入到磁盘)三种。
RandomAccessFile raf = new RandomAccessFile("example.txt", "rw");
- 移动文件指针
RandomAccessFile允许我们在文件中移动读写指针,可以通过seek()方法实现。
raf.seek(pos);
- 读取文件内容
RandomAccessFile可以读取byte、int、boolean、double、float等类型数据,也可以读取byte数组、char数组等。
byte b = raf.readByte();
int i = raf.readInt();
double d = raf.readDouble();
- 写入文件内容
RandomAccessFile也可以写入byte、int、boolean、double、float等类型数据,也可以写入byte数组、char数组等。
raf.writeByte(100);
raf.writeInt(123456);
raf.writeDouble(3.1415926);
- 关闭RandomAccessFile
最后,记得在文件操作完成后关闭RandomAccessFile,以释放资源。
raf.close();
以上就是RandomAccessFile的基本操作。需要注意的是,RandomAccessFile虽然可以随机访问文件,但并不支持并发访问。如果多个进程同时访问同一文件,需要进行同步控制。