zoukankan      html  css  js  c++  java
  • JavaIO

    ● ObjectInputStream(InputStream in):反序列化 - 把存储的对象从设备中读出,对象是依赖于其所属的类的

    使用readObject()方法读取一个对象文件。使用对象的使用需要强转将obj转换为使用的对象类型

    ObjectOutputStream(OutputStream out):序列化 - 把对象进行持久的储存

    对象输出流使用writeObject(Object obj)方法,将一个obj对象(必须实现Serializable接口)写入到一个文件。

    ● Serializable序列化接口,用于给被序列化的类加入ID号,判断类和对象是否是同一个版本。

    可序列化类通过声明为"serialVersionUID"字段(该字段必须是静态static、最终final的long型字段)显示声明自己的serialVersionUID;
    如果序列化类未显示声明serialVersionUID,则序列化运行时将基于该类的各个方面计算的默认serialVersionUID值。

    - 强烈建议:所有可序列话的类都显示声明serialVersionUID;

    - transient:瞬态,不参与序列化;表示暂时的,这个属性不会被写入磁盘;

    package cn.itcast.io.p3.ObjectStream;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.Serializable;
    
    import cn.itcast.io.p3.bean.Persion;
    
    public class ObjectStreamDemo {
    
        public static void main(String[] args) throws Exception {
            
            // writeObject();
            readObject();
    
        }
    
        public static void readObject() throws IOException, Exception{
            
            ObjectInputStream ois = new ObjectInputStream(new FileInputStream("persion.object"));
            // 对象的反序列化。
            Persion obj = (Persion)ois.readObject();
            System.out.println(obj.getName()+":"+obj.getAge());
            
            ois.close();
        }
    
        public static void writeObject() throws IOException {
        
            ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("persion.object"));
            // ObjectOutputStream oos = new ObjectOutputStream(System.out);
            // 对象的序列化,将对象排队存储到硬盘上。序列化必须实现serializable接口
            oos.writeObject(new Persion("小强",30));
            
            oos.close();
        }
    }
  • 相关阅读:
    Bzoj 3173: [Tjoi2013]最长上升子序列 平衡树,Treap,二分,树的序遍历
    Bzoj 1657: [Usaco2006 Mar]Mooo 奶牛的歌声 单调栈
    Bzoj 1391: [Ceoi2008]order 网络流,最大权闭合图
    Bzoj 1674: [Usaco2005]Part Acquisition dijkstra,堆
    Bzoj 3110: [Zjoi2013]K大数查询 树套树
    Cogs 309. [USACO 3.2] 香甜的黄油 dijkstra,堆,最短路,floyd
    面试题24:二叉排序树的后序遍历序列
    面试题23:从上往下打印二叉树
    面试题22:栈的压入、弹出序列
    面试题21:包含min函数的栈
  • 原文地址:https://www.cnblogs.com/Dm920/p/12461722.html
Copyright © 2011-2022 走看看