package Stream; /** * @author favo yang */ import java.io.*; public class Serial implements Serializable { int company_id; String company_addr; boolean company_flag; public Serial(){}//不同于C++,没有也可以 public Serial(int company_id,String company_addr,boolean company_flag) { this.company_id=company_id; this.company_addr=company_addr; this.company_flag=company_flag; } public static void main(String[] args) { Serial serial1 = new Serial(752,"dayer street #5 building 02-287",false);//构造一个新的对象 FileInputStream in=null; FileOutputStream out=null; ObjectInputStream oin=null; ObjectOutputStream oout=null; try { out = new FileOutputStream("5.txt"); oout = new ObjectOutputStream(out); serial1.serialize(oout);//序列化 oout.close(); oout=null; in = new FileInputStream("5.txt"); oin = new ObjectInputStream(in); Serial serial2 = Serial.deserialize(oin);//反序列化 System.out.println(serial2);//打印结果 } catch (Exception ex){ ex.printStackTrace(); } finally{ try { if (in != null) { in.close(); } if (oin != null) { oin.close(); } if (out != null) { out.close(); } if (oout != null) { oout.close(); } } catch (IOException ex1) { ex1.printStackTrace(); } } } /** * deserialize */ public static Serial deserialize(ObjectInputStream oin) throws Exception{ Serial s=(Serial)oin.readObject(); return s; } public String toString() { return "DATA: "+company_id+" "+company_addr+" "+company_flag; } /** * serialize */ public void serialize(ObjectOutputStream oout) throws Exception{ oout.writeObject(this); } } |