package com.a27序列化;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class a01序列化 {
public static void main(String[] args) throws IOException, ClassNotFoundException {
对象序列化流();
对象反序列化流();
}
public static void 对象序列化流() throws IOException, ClassNotFoundException {
Student stu = new Student(1001,"方光曦","男","大三");
Student stu1 = new Student(1002,"罗明星","女","大三");
List<Student> a = new ArrayList<>();
a.add(stu);
a.add(stu1);
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("stu.txt",true));
//将对象序列化到文件
oos.writeObject(stu);
oos.close();
}
public static void 对象反序列化流() {
ObjectInputStream ois = null;
try {
ois = new ObjectInputStream(new FileInputStream("stu.txt"));
Object obj=null;
while ((obj=ois.readObject())!=null){
Student stu = (Student) obj;
System.out.println(stu.getId()+","+stu.getName()+","+stu.getGender()+","+stu.getGrade());
}} catch (EOFException e) {
}
catch (Exception e) {
e.printStackTrace();
}finally {
try {
ois.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
package com.a27序列化;
import java.io.Serializable;
public class Student implements Serializable {
private int id;
private String name;
private String gender;
private String grade;
public Student(int id, String name, String gender, String grade) {
this.id = id;
this.name = name;
this.gender = gender;
this.grade = grade;
}
public Student() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getGrade() {
return grade;
}
public void setGrade(String grade) {
this.grade = grade;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", grade='" + grade + '\'' +
'}';
}
}