zoukankan      html  css  js  c++  java
  • JAVA序列化和反序列化

    1.定义对象

    package com;
    
    /**
     * 
     * @author yf
     *
     */
    public class Employee implements java.io.Serializable {
        public String name;
        public String address;
        public transient int SSN;
        public int number;
    
        public void mailCheck() {
            System.out.println("Mailing a check to " + name + " " + address);
        }
    }

    2.将对象写入内存

    package com;
    
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectOutputStream;
    
    public class SerializeDemo {
    
        public static void main(String[] args) {
            //将要写入的对象
            Employee e=new Employee();
            e.name="tom";
            e.address="BeiJing";
            e.number=2;
            e.SSN=2;
            
            //文件输出流
            FileOutputStream out=null;
            try {
                out=new FileOutputStream("/tmp.ser");
                //对象输出流
                ObjectOutputStream oout=new ObjectOutputStream(out);
                oout.writeObject(e);
                out.close();
                oout.close();
            } catch (FileNotFoundException e1) {
                e1.printStackTrace();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
            
        }
    }

    3.将对象输出内存

    package com;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    
    public class Test01 {
    
        public static void main(String[] args) {
            
            //文件输入流
            FileInputStream in=null;
            //反序列对象
            Employee emp=null;
            try {
                 
                in=new FileInputStream("/tmp.ser");
                //对象流
                ObjectInputStream obj=new ObjectInputStream(in);
                //获取对象 
                emp=(Employee) obj.readObject();
                 System.out.println(emp.address);
                 System.out.println(emp.name);
                 System.out.println(emp.number);
                 System.out.println(emp.SSN);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    C++ 什么是多态
    *和&的使用
    静态链接库与动态链接库
    利尔达CC3200模块烧写程序笔记
    创龙TMS320C6748开发找不到 tl.dsp.evm6748的问题研究
    RTSC和XDCTool的理解
    创龙DSP6748开发板SYS/BIOS的LED闪烁-第2篇
    Coap协议学习笔记-第一篇
    linux进程的学习笔记(未完)
    创龙DSP6748开发板LED闪烁-第一篇
  • 原文地址:https://www.cnblogs.com/javaweb2/p/6635855.html
Copyright © 2011-2022 走看看