import java.io.*;
class Demo7
{
public static void main(String[] args) throws IOException
{
/*
RandomAccessFile: 不属于IO体系,只能访问文件
内部既有字节输出流,也有字节输入流
内部有一个字节数组,可以通过指针设置,所以可以随机
*/
//writeData();
readData();
}
//读取数据
public static void readData()throws IOException
{
RandomAccessFile random = new RandomAccessFile("random.txt","r");
//默认指向文件的开头,读取刘能
byte[] arr = new byte[4];
int len = random.read(arr);
int age = random.readInt();
System.out.println(new String(arr,0,len)+","+age);
random.seek(16);//设置指针指向赵四的起始位置
len = random.read(arr);
age = random.readInt();
System.out.println(new String(arr,0,len)+","+age);
}
//随机写入数据
public static void writeData()throws IOException
{
//模式为"rw",那么当文件不存在时会自动创建
RandomAccessFile random = new RandomAccessFile("random.txt","rw");
//默认指向文件的开头
random.write("刘能".getBytes());
random.writeInt(58);
//指针指向哪儿? 8
long pointer = random.getFilePointer();
System.out.println("pointer="+pointer);
//设置指针指向的位置
random.seek(16);
random.write("赵四".getBytes());//指针指向哪儿数据就被写到哪儿
random.writeInt(56);
pointer = random.getFilePointer();
System.out.println("pointer="+pointer);
}
}
RandomAccessFile的应用
最新推荐文章于 2023-11-26 16:55:56 发布