如何解决这种类型转换异常的bug

img

img

package SerializationAndDeserialization2;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.Serializable;

public class Main {
public static void main(String[] args) throws IOException, ClassNotFoundException {
ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\所有的文件\第四章所有\作业与练习\第四章第4节课时练习笔记在文件注释里\序列化与反序列化\book.txt"));
Object o=ois.readObject();
System.out.println(o);
Book b= (Book) ois.readObject(); //Bug
System.out.println(b.getInfo());
}
static class Book implements Serializable {
private String name;
private String info;

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                ", info='" + info + '\'' +
                '}';
    }

    public Book() {
    }

    public Book(String name, String info) {
        this.name = name;
        this.info = info;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }
}

}

必须用ObjectOutputStream对象的writeObject方法保存Book对象,才能使用ObjectInputStream的readObject方法读取Book对象。

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632