Student类:
package com.test1;
import java.io.Serializable;
//创建一个JavaBean对象
public class Student implements Serializable {
// serialVersionUID字段作用:用来固定这个版本,无论我们怎么修改,版本都是一致的,
// 就能进行反序列化了
private static final long serialVersionUID = 111L;
private String name;
private int age;
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
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;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "Student[name=" + name + ",age=" + age + "]";
}
}
测试类
package com.test1;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
public class Test {
public static void main(String[] args) {
// 序列化:将对象转化为字节流
try {
OutputStream opOutputStream = new FileOutputStream("a.txt");
ObjectOutputStream opStream = new ObjectOutputStream(opOutputStream);
opStream.writeObject(new Student("曹操", 23));
opStream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 反序列化
try {
InputStream inputStream = new FileInputStream("a.txt");
ObjectInputStream oStream = new ObjectInputStream(inputStream);
byte[] buffer = new byte[10];
int len = -1;
Student student = (Student) oStream.readObject();
System.out.println(student);
oStream.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}