可以访问(读/写)一个文件中任意位置的字节信息
//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(); }