java ObjectOutputStream 对象的序列化 Serializable

时间:2019-01-17
本文章向大家介绍java ObjectOutputStream 对象的序列化 Serializable,主要包括java ObjectOutputStream 对象的序列化 Serializable使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

文档地址  http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

第一步 新建一个类实现  Serializable 接口  重写toString 方法  

public class Goods implements Serializable{

private String goodsId;

private String goodsName;

private double price;

public String getGoodsId() {

return goodsId;

}

public void setGoodsId(String goodsId) {

this.goodsId = goodsId;

}

public String getGoodsName() {

return goodsName;

}

public void setGoodsName(String goodsName) {

this.goodsName = goodsName;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

public Goods(String goodsId, String goodsName, double price) {

super();

this.goodsId = goodsId;

this.goodsName = goodsName;

this.price = price;

}

@Override

public String toString() {

return " [商品编号=" + goodsId + ", 商品名称=" + goodsName + ", 商品价格=" + price + "]";

}

}

 

第二步  测试 方法

void Test(){

Goods goods =new Goods("gs001", "电脑", 30004);

try {

FileOutputStream fos = new FileOutputStream("/users/yifei/desktop/assets/reader.txt");

ObjectOutputStream os = new ObjectOutputStream(fos);

os.writeObject(goods);  //用对象写入流  将 Goods对象的实例 goods  写入制定的文件 xxx.txt中

 

FileInputStream fis = new FileInputStream("/users/yifei/desktop/assets/reader.txt");

ObjectInputStream ois = new ObjectInputStream(fis);

Goods g1=(Goods)ois.readObject();  //将 xxx.txt中的文件 中的东西用 对象读出流写出

System.out.println(g1); //打印读出的对象

os.close();

fos.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch(IOException e) {

e.printStackTrace();

}catch ( ClassNotFoundException e) {

e.printStackTrace();

}

}