java中如何遍历反序列化流中的全部对象?
想问问大神们应该怎么遍历反序列化流中的所有对象
首先通过序列化流向文件中存储了多个对象(这个代码执行了好几次添加的多个对象,确认对象都已经添加进文件中
)
然后现在想遍历文件中的所有对象,确抛出了

我使用的遍历代码是这个:
想问问大神们应该怎么遍历反序列化流中的所有对象
首先通过序列化流向文件中存储了多个对象(这个代码执行了好几次添加的多个对象,确认对象都已经添加进文件中
)
private void addStudent() throws IOException {//添加学生信息
Person person = new Person();//创建学生类对象
FileOutputStream fos = new FileOutputStream("whr\\src\\dormitory\\学生信息.txt",true);
System.out.println("请按 姓名 学号 年龄 性别 的格式输入学生信息:");
person.setName(sc.next());//将输入的姓名存到对象中
person.setStudentId(sc.nextInt());//将输入的学号存入到对象中
person.setAge(sc.nextInt());//将输入的年龄存入到对象中
person.setSex(sc.next());//将输入的性别存入到对象中
person.setRoom(-1);//先都分配0号宿舍
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(person);//将对象存入文件中
oos.close();
}然后现在想遍历文件中的所有对象,确抛出了
Exception in thread "main" java.io.StreamCorruptedException: invalid type code: AC异常,如图:只出现了一个对象:
我使用的遍历代码是这个:
public class test {
public static void main(String[] args) throws IOException, ClassNotFoundException {
FileInputStream fis = new FileInputStream("whr\\src\\dormitory\\学生信息.txt");
// FileOutputStream fos = new FileOutputStream("whr\\src\\dormitory\\学生信息.txt");
ObjectInputStream ois = new ObjectInputStream(fis);
Person person = (Person)ois.readObject();//遍历反序列化中的所有对象
while (person != null){
System.out.println(person.getName()+person.getStudentId()+person.getSex()+person.getRoom());
person = (Person)ois.readObject();
}
ois.close();
}
}想问问大神们应该怎么遍历反序列化流中的所有对象
...全文
相关推荐
MyBatisDemo && JAVA把一个对象的全部属性复制到另一个相同的对象
在IT行业中,数据复制是常见的操作,特别是在对象之间。这篇博文“MyBatisDemo && JAVA把一个对象的全部属性复制到另一个相同的对象”探讨的是如何在Java编程中实现对象属性的深度复制。
java JSONArray 遍历方式(2种)
在Java编程中,`JSONArray`是JSON-P(Java API for JSON Processing)库中的一个类,用于处理JSON数组。
JAVA序列化和反序列化的底层实现原理解析
那么当两个Java进程进行通信时,能否实现进程间的对象传送呢?答案是可以的!这就需要Java序列化与反序列化了!
实例解析Json反序列化之ObjectMapper(自定义实现反序列化方法)
例如,我们可以编写一个自定义的反序列化器来处理JSON字符串中的日期格式,使其能够正确地映射到Java的Date或LocalDate对象上。
Java学习笔记之IO流
通过这些流,我们可以实现对文件的操作,如读取、写入等。本篇文章将详细介绍Java中的IO流用法及其基本实现原理,并且还会介绍序列化与反序列化的实现方法。


