【JAVA】序列化与反序列化的简单示例

来源:互联网 发布:北京同德软件视频 编辑:程序博客网 时间:2024/05/05 22:18

用的是上文list和map的Classes类,把Classes实例化的对象序列化,写入名为"FileTest"的文件。这个文件如果不存在,会自动创建。下面是代码演示。


package com.app.listmap;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class FileInputOutput {//序列化方法public void Write(Classes c){try {FileOutputStream FileOut = new FileOutputStream("FileTest");ObjectOutputStream OOS = new ObjectOutputStream(FileOut);OOS.writeObject(c);OOS.close();FileOut.close();} catch (FileNotFoundException e) {// TODO 自动生成的 catch 块e.printStackTrace();} catch (IOException e) {// TODO 自动生成的 catch 块e.printStackTrace();}}//反序列化方法public Classes Read(){Classes c = null;FileInputStream FileIn;try {FileIn = new FileInputStream("FileTest");ObjectInputStream OIS = new ObjectInputStream(FileIn);c=(Classes) OIS.readObject();OIS.close();FileIn.close();} catch (FileNotFoundException e) {// TODO 自动生成的 catch 块e.printStackTrace();} catch (IOException e) {// TODO 自动生成的 catch 块e.printStackTrace();} catch (ClassNotFoundException e) {// TODO 自动生成的 catch 块e.printStackTrace();}return c;}public static void main(String[] args) {//创建Classes对象并序列化存入FileTest文件中Classes c = new Classes("大狗熊");new FileInputOutput().Write(c);//操作完成后讲上面的两句注释,取消下面这两句注释,运行,即可得到反序列化,并打印其中的内容//Classes c1= new FileInputOutput().Read();//System.out.println(c1.Members);}}


0 0
原创粉丝点击