RandomAccessFile类可以基于指针对文件进行随机读写操作,其总是在当前指针位置读写字节。
它提供了2中访问模式:
RandomAccessFile(File file,string mode):根据文件对象file和读写操作mode创建对象
RandomAccessFile(String filename,String mode):根据文件名filename和读写操作mode创建对象
-r:只读 -rw:读写
void write(int n):根据当前指针所在位置给定int值写出它的“低8位”,即一个字节
int read(int n):从当前文件中读取一个字节,将该字节存入返回的int值中。int值的“低8位”有效。
返回的最大值为255,当返回值为-1时,则说明读取当了文件末尾(EOF)。
void write(byte[] b):尝试一次从文件中写出一组字节,字节最大数量为b的长度
void wirte(byte[] b, int offset,int len):从b数组的第offer位置开始连续写出len个字节。
int read(byte[] b):一次从文件中读取d数组的length个字节,并从该数组的第一个位置处起,存放读取到的字节,返回值为实际读取到的字节数,当返回值为-1时,表示读取完文件。
void writeInt(int n):一次写出4个字节的int值n
void writeDouble(double n):一次写出8个字节的double值n
......
int readInt():一次读取4个字节的int值,并将该值返回给int类型
double readDouble():一次读取8个字节的double值,并将该值返回给double类型
......
long getFilePoint():获取当前指针的位置(默认指向文件的开始,值为0)
void seek(long pos):移动指针到指定的pos位置
int skipBytes(int n):尝试跳过n个字节,返回值为实际跳过的字节数,值为负数时,表示到了文件末尾。
序列化:将一组特定的数据结构转换为一组字节的过程。主要用于传输和保存
持久化:将数据写入硬盘做长久保存的过程