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

    实现Serialiable 接口才能进行序列化,标注transient和static的变量会被忽略。

    import java.io.Serializable;
    
    class Customer implements Serializable {
            private String name;
            private int age;
            public Customer(String name, int age) {
                this.name = name;
                this.age = age;
            }
    
            public String toString() {
                return "name=" + name + ", age=" + age;
            }
        }
    import java.io.*;
    import java.util.Date;
    
    public class ObjectSaver { 
        /*其中的  D:\objectFile.obj 表示存放序列化对象的文件*/
    
        public static void out(Object object,String filename){
            try {
            OutputStream  file= new FileOutputStream(filename);
             //序列化对象
            ObjectOutputStream out = new ObjectOutputStream(file);
    //        Customer customer = new Customer("王麻子", 24);    
            out.writeObject(object);    //写入customer对象
            out.close();    
            
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
        public static Object in (String filename){
                //反序列化对象
            Object object = null;
            try {
                ObjectInputStream in = new ObjectInputStream(new FileInputStream(filename));
                 object =  in.readObject();    //读取customer对象
                System.out.println(object);
                in.close();
            
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return object;    
        }
        public static void main(String[] args) throws Exception {
            String filename = "src\objectFile.txt";
            Customer customer = new Customer("王麻子", 24);
                  out(customer,filename);
                      in(filename);
            
    
        }

       另外

  • 相关阅读:
    [Contest on 2020.4.2] 影帝杯狂欢赛
    [BZOJ 3821] 玄学
    CodeForces 432D Prefixes and Suffixes
    CodeForces 17E Palisection
    CodeForces 665E Beautiful Subarrays
    BZOJ 2989 数列
    changeeksdja
    Jmeter学习——1
    LoadRunner监控Linux与Windows方法(经典)
    LR检查点小结
  • 原文地址:https://www.cnblogs.com/the-wang/p/7248746.html
Copyright © 2011-2022 走看看