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();

       }

    }

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

  • 相关阅读:
    js面向对象的程序设计 --- 上篇(理解对象)
    js基础 之 引用类型
    js基础之--变量 作用域和内存问题
    js基础心得
    一些转载的知识点
    linux打印指定的行的内容
    R画柱形图和箱线图
    Meerkat软件
    bam文件格式说明
    STAR软件的学习
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429541.html
Copyright © 2011-2022 走看看