可以访问(读/写)一个文件中任意位置的字节信息
//arg0 要访问的文件
//arg1 要访问的模式,"R"只读模式,“RW”读写模式
RandomAccessFile(File,String)throws FileNotFoundException
RAF 维护一个指针,指向要读写的位置,指针会随着读写自动后移
int read()
void write(int)
seek(long)
long getFilePointer()
public static void main(String[] args) throws Exception {
File file=new File("demo");
RandomAccessFile demo=new RandomAccessFile(file,"rw");//以读写方式打开文件
int a=demo.read();//读第一字母
System.out.println((char)a);//16进制输出
demo.write(65);//指针2处写入56
demo.seek(3);//将指针移到位置3处
System.out.println(demo.getFilePointer());//输出当前指针偏移量
a=demo.read();
System.out.println(Integer.toHexString(a));
System.out.println(demo.getFilePointer());//输出当前指针偏移量
byte[] buffer=new byte[10];
demo.seek(0);
a=demo.read(buffer);
System.out.println(a+" "+Arrays.toString(buffer));//将文件数据读取buffer.length到缓冲区buffer中,并返回成功读取的个数a
System.out.println(demo.getFilePointer());//10,前面读取了10个,即0-9
demo.write(buffer, 2, 6);//将Buffer内容写入文件,从buffer[2]开始,连续写8个。写到当前指针处,覆盖
demo.close();
}