对象流序列化和反序列化
-
序列化:将内存中的java对象保存到磁盘中或进行网络传输出去,使用ObjectOutputStream实现
package com.ran; import java.io.*; public class Ran { public static void main(String[] args) { ObjectOutputStream oos = null; try { FileOutputStream fos = new FileOutputStream("object.dat"); oos = new ObjectOutputStream(fos); oos.writeObject(new String("我爱北京天安门")); oos.writeObject(new String("冉海锋",21)); } catch (IOException e) { e.printStackTrace(); } finally { if(oos!=null){ try { oos.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
-
反序列化:将磁盘文件中的对象还原为内存中的一个java对象,需要使用ObjectInputStream来实现
package com.ran; import java.io.*; public class Ran { public static void main(String[] args) { ObjectInputStream ois = null; try { FileInputStream fis = new FileInputStream("object.dat"); ois = new ObjectInputStream(fis); Object obj = ois.readObject(); String str=(String)obj; System.out.println(str); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } finally { if(ois!=null){ try { ois.close(); } catch (IOException e) { e.printStackTrace(); } } } } }