-例
- 创建Student类
public class Student implements Serializable {
private String name;
private String sex;
private Integer age;
private String address;
private String phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
2.创建SerializeTest类,实现对Student类的序列化及反序列化
public class SerializeTest {
public static void main(String[] args) throws IOException {
serialize();
Student s = (Student) deserialize();
System.out.println("姓名:" + s.getName() + "\n年龄:" + s.getAge() + "\n性别:" + s.getSex() + "\n地址:" + s.getAddress() + "\n手机:" + s.getPhone());
}
public static Object deserialize() throws IOException {
Student s = new Student();
File f = new File("D:/student.out");
InputStream is = new FileInputStream(f);
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(is);
} catch (IOException e) {
e.printStackTrace();
}
try {
s = (Student) ois.readObject();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
is.close();
ois.close();
return s;
}
public static void serialize() {
Student s = new Student();
s.setName("张三");
s.setAge(32);
s.setSex("man");
s.setAddress("阜阳");
s.setPhone("12345678910");
OutputStream os = null;
ObjectOutputStream oos = null;
File f = new File("D:/student.out");
try {
os = new FileOutputStream(f);
oos = new ObjectOutputStream(os);
oos.writeObject(s);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (oos != null)
try {
oos.close();
} catch (IOException e) {
e.printStackTrace();
}
if (os != null)
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
网友评论