10、RandomAccessFile

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
/**
* 注意:随机读写。数据需要规律。用RandomAccessFile类需要明确要操作的数据的位置。
*
*/
public class RandomAccessFileDemo {
public static void main(String[] args) throws IOException {
//writeFile();
RandomAccessFile raf=new RandomAccessFile("tempFile\\test.txt","r");
raf.seek(8*1);//读第二个人
byte[] buf=new byte[4];
raf.read(buf);
String name=new String(buf);
System.out.println("name="+name);
int age=raf.readInt();
System.out.println("age="+age);
raf.close();
}
public static void writeFile() throws FileNotFoundException, IOException {
//明确要操作的位置,可以多个线程操作同一份文件而不冲突。多线程下载的基本原理。
RandomAccessFile raf=new RandomAccessFile("tempFile\\test.txt","rw");
raf.write("张三".getBytes());
raf.writeInt(97);//保证字节原样性
raf.write("李四".getBytes());
raf.writeInt(99);//保证字节原样性
System.out.println(raf.getFilePointer());//获取随机指针
raf.seek(8*2);//设置指针
raf.write("王五".getBytes());
raf.writeInt(100);//保证字节原样性
raf.close();
}
}
尚学堂给同学们带来全新的Java300集课程啦!java零基础小白自学Java必备优质教程_手把手图解学习Java,让学习成为一种享受_哔哩哔哩_bilibili尚学堂给同学们带来全新的Java300集课程啦本课程为Java300集2022版第一季,配合最新版的Java课程,所有视频重新录制,课件所有图形做了重新绘制和配色,图解学习Java,让学习成为一种享受本套教程专门为零基础学员而制,适合准备入行Java开发的零基础学员,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。后续课
https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.999.0.0