此类的实例支持对随机存取文件的读取和写入。随机存取文件的行为类似存储在文件系统中的一个大型字节数组。存在指向该隐含数组的光标或索引,称为文件指针;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机存取文件以读取/写入模式创建,则输出操作也可用;输出操作从文件指针开始写入字节,并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。该文件指针可以通过 getFilePointer 方法读取,并通过 seek 方法设置。
通常,如果此类中的所有读取例程在读取所需数量的字节之前已到达文件末尾,则抛出 EOFException(是一种 IOException)。如果由于某些原因无法读取任何字节,而不是在读取所需数量的字节之前已到达文件末尾,则抛出 IOException,而不是 EOFException。需要特别指出的是,如果流已被
RandomAccessFile randomAccessFile;
try {
randomAccessFile = new RandomAccessFile("c:/file.txt","rw");
randomAccessFile.seek(0);
//andomAccessFile.writeUTF(content.toString());
randomAccessFile.writeUTF("222");
randomAccessFile.close();
} catch (IOException e) {
e.printStackTrace();
}
public static RandomAccessFile getFile(String path) {
RandomAccessFile re = null;
try {
File file = new File(path);
if (!file.exists())
file.createNewFile();
re = new RandomAccessFile(file, "rw");
} catch (IOException e) {
e.printStackTrace();
}
return re;
}