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();
            }
        }
    }
  • 相关阅读:
    安装kali中的一些常用工具和firefox的插件
    kali定制
    熟悉BASH命令
    kali中各目录的作用
    kali中netspeed的安装方法
    kali中常用的ctf工具
    【学生党必看】大学里,你的六个重要选择【转载】
    kali持久加密USB的制作
    elasticsearch _search结果解析
    Springboot整合Elasticsearch报错availableProcessors is already set to [4], rejecting [4]
  • 原文地址:https://www.cnblogs.com/javaweb2/p/6635855.html
Copyright © 2011-2022 走看看