首页 > 编程语言 > 详细

如何将一个java对象序列化到文件里

时间:2019-12-04 23:42:11      阅读:228      评论:0      收藏:0      [点我收藏+]

1.准备要序列化的类User

(这个类必须实现Serializable接口,该接口只起到一个标记作用,没有任何抽象方法)

package cn.qdm.ceshi;

import java.io.Serializable;

public class User  implements Serializable{
    private String name;
    private Integer age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    @Override
    public String toString() {
        return "User [name=" + name + ", age=" + age + "]";
    }
    public User(String name, Integer age) {
        super();
        this.name = name;
        this.age = age;
    }
    public User() {
        super();
        // TODO Auto-generated constructor stub
    }
    
    

}

2. 测试代码

package cn.qdm.ceshi;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

public class Ceshi {

    public static void main(String[] args)  {
        ObjectOutputStream objectOutputStream = null;
        try {
            objectOutputStream = new ObjectOutputStream(new FileOutputStream(new File("D://obj")));
            objectOutputStream.writeObject(new User("张三", 18));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            try {
                objectOutputStream.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
      try {
        ObjectInputStream objectInputStream = new   ObjectInputStream(new FileInputStream(new File("D://obj")));
          try {
            User user = (User) objectInputStream.readObject();
            System.out.println(user);
            objectInputStream.close();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } 

    }
}

如何将一个java对象序列化到文件里

原文:https://www.cnblogs.com/qdmpky/p/11986287.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!