NotSerializableException:不可序列化异常
如果一个想要实现序列化,前提要实现一个叫Serializable接口,如果不实现,就会抛出该异常。
代码演示
public class ObjectInputStreamDemo {
public static void main(String[] args) throws IOException {
//写
writer();
}
public static void writer() throws IOException {
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("oos.txt"));
Person p = new Person("格雷福斯", 40);
oos.writeObject(p);
oos.close();
}
}
实体类
实现Serializable接口就行了
public class Person /*implements Serializable*/ {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
结果:
Exception in thread "main" java.io.NotSerializableException: com.ginger.demo01.Person
at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1185)
at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at com.ginger.demo01.ObjectInputStreamDemo.writer(ObjectInputStreamDemo.java:18)
at com.ginger.demo01.ObjectInputStreamDemo.main(ObjectInputStreamDemo.java:10)