zoukankan      html  css  js  c++  java
  • 对象序列化

    一、对象序列化:

    对象序列化,是指将一个对象转换为二进制的数据流。如果一个类的对象要实现序列化,则对象所在的类必须实现Serializable接口。

    如果要想完成对象序列化,则还要依靠ObjectOutputStream和ObjectInputStream类,前者属于序列化,后者是反序列化。

    二、代码示例:

    创建一个可序列化的类:

    import java.io.Serializable;

    public class Person implements Serializable {

       private String name;

       private int age;

       public Person(String name,int age){

         this.name=name;

         this.age=age;

       }

       private static final long serialVersionUID = 1L;

       public String toString(){

         return this.name+"="+this.age;

       }

    }

    进行序列化写入文件:

    import java.io.FileOutputStream;

    import java.io.ObjectOutputStream;

    public class TestDemo {

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

         // TODO Auto-generated method stub

         ObjectOutputStream out=new ObjectOutputStream(

              new FileOutputStream("c:/ser.txt"));

         Person p=new Person("guoxu",25);

         out.writeObject(p);

         out.close();

       }

    }

    反序列化操作:

    import java.io.*;

    public class TestDemo2 {

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

         // TODO Auto-generated method stub

         ObjectInputStream out=new ObjectInputStream(

              new FileInputStream("c:/ser.txt"));

         Object obj=out.readObject();

         Person p=(Person)obj;

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

         out.close();

       }

    }

    无论序列化,还是反序列化,都要求有原型类存在。

  • 相关阅读:
    禁止在工作流设计器启动持续活动的重新编译
    设计流程 工作流
    workflow 工作流
    访问调度控制 时间控件
    如何:实现一个视图项目
    Python多线程之threading.Thread实现
    gcc 编译流程分析
    如何编写Makefile?
    linux 文件夹的颜色代表什么意思
    STL容器的迭代器失效的原因
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429541.html
Copyright © 2011-2022 走看看