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

    对象序列化:就是将一个对象转换为二进制的数据流,如果一个类的对象要想实现对象序列化,则对象所在的类必须实现Serializable接口。这个接口没有任何方法,只是作为一个标识,标识本类的对象具备了序列化的能力而已。

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

    transient关键字表示不希望进行序列化

    如果要同时对多个对象进行序列化,则使用对象数组

    import java.io.*;

    class Person2 implements Serializable
    {
     private transient String name;
     public String getName() {
      return name;
     }

     public void setName(String name) {
      this.name = name;
     }

     public int getAge() {
      return age;
     }

     public void setAge(int age) {
      this.age = age;
     }

     private int age;
     
     public Person2(String name,int age)
     {
       this.name=name;
       this.age=age;
     }
     
     public String toString()
     {
      return "姓名:"+this.name+"年龄:"+this.age;
     }
    }

    public class SerializableDemo {
     public static void main(String args[]) throws Exception
     {
            Person2[] p3={new Person2("张三",55),new Person2("李四",31)};
         ser(p3);
         Person2 p4[]=(Person2[])reser(p3);
         print(p4);
     } 
        public static void ser(Object obj) throws Exception
        {
         //序列化
       File file=new File("d:"+File.separator+"person.ser");
       ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream(file));
         oos.writeObject(obj);
         oos.close();
        }
        public static Object reser(Object obj) throws Exception
        {
         File file=new File("d:"+File.separator+"person.ser");
          //反序列化
         ObjectInputStream ois=new ObjectInputStream(new FileInputStream(file));
      Object temp=ois.readObject();     
            return temp;
        }
        public static void print(Person2 p[])
        {
         for(Person2 p2:p) 
         {
          System.out.println(p2.getName()+" "+p2.getAge());
         }
        }
    }

  • 相关阅读:
    深入浅出WPF-04.x名称空间详解
    深入浅出WPF-03.XAML语法
    深入浅出WPF-02.WPF系列目录
    深入浅出WPF-01.WPF缘起
    IdentityServer4[3]:使用客户端认证控制API访问(客户端授权模式)
    IdentityServer4[2]:启动一个新的IdentityServer项目
    基于UDP实现多媒体即时通信机制
    顺丰快递单号查询api接口快递鸟免费对接参数demo
    常用电子面单接口API demo下载(菜鸟&快递鸟)
    Solution -「YunoOI 2016」镜中的昆虫
  • 原文地址:https://www.cnblogs.com/jinzhengquan/p/1948436.html
Copyright © 2011-2022 走看看