RandomAccessFile小结:
1.java.io.RandomAccessFile,基于指针读写文件数据
2.一种异常,end of file (EOF),读到末尾了,没有正常结束。
3.(1)2种创建方式因为参数不同(地址或file,rw或r),可创建但不能多级创建
(2)5读写操作
<1>raf.write(97);//我们看的都是10进制,实际上写入对应二进制的低八位
<2>int d=raf.read();//读取一个字节,10进制int返回。-1是末尾
<3>raf.close();//必要操作
<4>raf.write(max>>>24);
<5>进阶为基本类型(3种) 如:raf.writeInt();raf.writeLong();raf.writeDouble();
(3)2种改变获取指针的方式。raf.getFilePointer(),raf.seek(0);
(4)读取到的字节转化为字符串
byte[] data=new byte[32];
raf.read(data);
String name=new String(data,"utf-8").trim();
(5)2种复制操作
复制操作1.
int d=-1;
while((d=src.read())!=-1){
desc.write(d);
}
复制操作2.(提高量,减少次数)
int read(byte[] data),返回实际读取的数据量,-1是没有读取到
byte[] buf=new byte[1024*10];//10k的缓冲
int len=-1;
while((len=src.read(buf))!=-1){
desc.write(buf,0,len);
}