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

       }

    }

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

  • 相关阅读:
    (十)安装YAML
    (十四)日志
    Android自动化测试------monkeyrunner(六)
    Android自动化测试------monkey日志管理(五)
    如何学好一门编程语言
    linux vi hjkl由来
    .net 微服务CICD 好文章
    APPCMD 精心整理 有点赞的吗
    APPCMD 命令合集
    APPCMD 使用手册
  • 原文地址:https://www.cnblogs.com/itfenqing/p/4429541.html
Copyright © 2011-2022 走看看