java.io对象读写_JAVA序列化在IO中读写对象的使用

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

写对象和读对象的时候一定要使用序列化:

import java.io.*;

class Product implements Serializable {

private static final long serialVersionUID = 1L;

private float price;

private float tax;

public Product(float price) {

this.price = price;

tax = (float)(price*0.20);

}

public String toString() {

return "price:"+price+",tax:"+tax;

}

}

public class CmdDemo {

public static void main(String[] str) throws Exception {

Product p1 = new Product(100);

ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("d:\\product.txt"));

os.writeObject(p1);

os.close();

ObjectInputStream is = new ObjectInputStream(new FileInputStream("d:\\product.txt"));

Product p2 = (Product) is.readObject();

System.out.println(p2.toString());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值