package com.jsu.java;
public interface Serializable {
}
package com.jsu.java;
public class Person implements Serializable{//实体类实现序列化接口
private String name;
private int age;
private String id;
public Person() {
}
public Person(String name, int age, String id) {
this.name = name;
this.age = age;
this.id = id;
}
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;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", id='" + id + '\'' +
'}';
}
}
package com.jsu.java;
public class Car implements Serializable{//实体类实现序列化接口
private String brand;
private double price;
public Car() {
}
public Car(String brand, double price) {
this.brand = brand;
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Car{" +
"brand='" + brand + '\'' +
", price=" + price +
'}';
}
}
1.对象序列化
package com.jsu.java;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class Demo001 {
public static void main(String[] args) throws IOException {
File file = new File("D:\\zsh\\aaa");
//创建对象输出流
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(new Person("孙悟空",22,"430001"));//向对象输出流写入对象
oos.writeObject(new Car("红旗汽车",250000));//向对象输出流写入对象
oos.close();
}
}
2.对象反序列化
package com.jsu.java;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
public class Demo002 {
public static void main(String[] args) throws IOException,ClassNotFoundException{
File file = new File("D:\\zsh\\aaa");
//创建对象输出流
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file));
Person person = (Person) ois.readObject();//从输入流读取对象,并强制转型
Car car = (Car)ois.readObject();//从输入流读取对象,并强制转型
System.out.println(person);
System.out.println(car);
ois.close();//关闭输入流
}
}