Java.io.序列化和反序列化


//对象序列化
//所谓对象序列化,即把一个对象,变为二进制
//对象所在的类,须实现Serializable接口
public static void main(String[] args) throws Exception {
ObjectOutputStream objectOutput=
new ObjectOutputStream(new FileOutputStream(new File("d:"+File.separator+"t2.txt")));
objectOutput.writeObject(new Person("Lee", 11));
}



//反序列化
public static void main(String[] args) throws Exception {
ObjectInputStream objectInputStream =
new ObjectInputStream(new FileInputStream(new File("d:"+File.separator+"t2.txt")));

Object object = objectInputStream.readObject();//读取对象
objectInputStream.close();
System.out.println(object);



//序列化,需要实现Serializable接口
class Person3 implements Serializable {
private int age;
private String name;

@Override
public String toString() {
return "Person3 [age=" + age + ", name=" + name + "]";
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Person3(int age, String name) {
super();
this.age = age;
this.name = name;
}

}

public class T19 {
//序列化一组对象
public static void main(String[] args) throws Exception {
Person3[] pers = { new Person3(11, "Lee"), new Person3(22, "qwere"), new Person3(55, "xiao"), };

ser(pers);
Object[] objects = deser();
for (int i = 0; i < objects.length; i++) {
Person3 p = (Person3) objects[i];
System.out.println(p);
}
}

//序列化
public static void ser(Object[] obj) throws Exception {
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
new FileOutputStream(new File("d:" + File.separator + "ser.txt")));

objectOutputStream.writeObject(obj);
objectOutputStream.close();//关闭输出
}

//反序列化
public static Object[] deser() throws Exception {
ObjectInputStream objectInputStream = new ObjectInputStream(
new FileInputStream(new File("d:" + File.separator + "ser.txt")));

Object[] obj = (Object[]) objectInputStream.readObject();//读取对象数组
objectInputStream.close();
return obj;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值