练习读取多个对象
用序列化流将对象写入文件
import java.io.*;
import java.nio.charset.Charset;
public class Main {
public static void main(String[] args) throws IOException, ClassNotFoundException {
//序列化多个对象
Person p1=new Person("多多", '男',20);
Person p2=new Person("少少", '男',21);
Person p3=new Person("多少", '女',22);
//先用高级流关联基本流 再关联本地文件
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("untitled\\a.txt"));
//调用方法
oos.writeObject(p1);
oos.writeObject(p2);
oos.writeObject(p3);
oos.close;
}
}
用反序列流将文件中的数据读取出来
import java.io.*;
import java.nio.charset.Charset;
public class Main {
public static void main(String[] args) throws IOException, ClassNotFoundException {
//创建反序列流的对象
ObjectInputStream ois=new ObjectInputStream(new FileInputStream("untitled\\a.txt"));
//读取文件中的数据
//一次只能读取一个对象
Person p1=(Person) ois.readObject();
Person p2=(Person) ois.readObject();
Person p3=(Person) ois.readObject();
System.out.println(p1);
System.out.println(p2);
System.out.println(p3);
ois.close();
}
}
但这种写法不好
不知道写出了多少个对象
以后多个文件序列化到文件中时
我们会把所有的对象先都放到集合里面去
然后我们直接序列化集合
我们直接序列化集合
然后直接把数据读取到集合里面去