RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件
RandomAccessFile 支持随机访问文件,可以访问文件的任意位置
1)java 文件模型: 在硬盘上的文件是byte byte byte存储的,是数据的集合
2)打开文件
有两种模式"rw"(读写) “r”(只读)
RandomAccessFile raf = new RandomAccessFile(file,“rw”);
文件指针, 打开文件时指针在开头 pointer = 0
getFilePointer() //获取指针位置
3)写方法
raf.write(int) ------>直接一个字节(后8位),同时指针指向下一个位置,准备再次写入
4)读方法
int b = raf.read()--------->读一个字节
5)文件读写完后一定要关闭
colse()
raf.writeInt(i) //可以直接写一个int
String s = "中";
byte[] gbk = s.getBytes("gbk"); //将s转换成编码为"gbk"的字节数组
raf.write(gbk); //直接写一个字节数组
raf.length() //返回文件有多长
//读文件必须把指针移到头部
raf.seek(0);
//一次性读取,把文件中的内容都读到字节数组中
byte[] buf = new byte[(int)raf.length()];
raf.read(buf);
System.out.println(Arrays.toString(buf));//打印出来