zoukankan      html  css  js  c++  java
  • Java序列化

    import java.io.Serializable;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectOutputStream;

    public class javaSerializable_fun {

    /**

       *【java程序设计高级教程】清华大学出版社*北京交通大学出版社 定价:¥33.00
       * java序列化和反序列化演示
       *目的:在web项目开发的时候,经常用到序列化和反序列化用来传递大流量的数据
       *序列化一般应用与以下场景之中:
       *1.永久性保存对象,把对象通过序列化字节流保存到本地文件中;
       *2.通过序列化在网络中传输对象
       *3.通过序列化在进程间传递对象
       *
       * java.io.Serializable 接口,类只有实现Serializable借口才能被序列化
       * java.io.Externalizable接口,利用java的序列化和反序列化工具,很多存储和恢复对象的工作都可以自动完成。
       * java.io.ObjectOutput接口,序列化传出, 继承了DataOutput接口并定义了一些方法,它支持对象序列化;
       *   重点说明:在该类中,writeObject()方法是最重要的方法,用于对象序列化,如果对象包含其他的对象引用,则writeObject()方法地柜序列化这些对象;
       * java.io.ObjectOutputStream类,负责向流中写入对象,构造方法:ObjectOutputStream(OutputStream out);
       * java.io.ObjectInput接口,序列化传入。继承了DataInput接口并定义了一些方法,它支持对象序列化;
       * ObjectInputStream类, 负责向从流中读取对象,构造方法:ObjectInputStream(InputStream out);
       ***/

    public static void main(String[] args) {

        try
      {
       //构造FileOutputStream对象
       FileOutputStream f=new FileOutputStream("C:a.txt");
       
       //构造ObjectOutputStream对象
       ObjectOutputStream out=new ObjectOutputStream(f);
       
       Customer customer=new Customer("bj",50);
       
       //使用ObjectOutputStream对象的writeObject()方法进行序列化
       out.writeObject(customer);
       
       //关闭ObjectOutputStream对象
       out.close();
       
       //关闭FileOutputStream对象
         f.close();
         System.out.println("序列化完毕!");
      }
      catch(IOException e)
      {
       e.getStackTrace();
      }

    }

    }

    class Customer implements Serializable
    {
     private static final long serialVersionUID =1L;
     
     private String name;
     private int age;
     
     public String getName()
     {
      return name;
     }
     
     public int getAge()
     {
      return age;
     }
     
     public Customer(String name,int age)
     {
      this.name=name;
      this.age=age;
     }
     
     public String toString()
     {
      return "name="+ name +",age="+age;
     }
    }

  • 相关阅读:
    LightOJ 1245(Harmonic Number (II))
    牛客练习赛13 乌龟跑步(DP)
    vue-cli 打包编译 -webkit-box-orient: vertical 被删除解决办法
    vue静态文件处理
    vue项目关闭eslint检查
    Mac 桌面软件开发基础问答
    Mac App开发
    mac os app 开发
    vue中html模板使用绑定的全局函数
    软件版本标识
  • 原文地址:https://www.cnblogs.com/yuan-2012/p/3513973.html
Copyright © 2011-2022 走看看