How will a java object serialization to file

1. Prepare series of User class

(Serializable class must implement this interface, which only plays a role of marker, there is no abstract methods)

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. Test the code

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();
    } 

    }
}

Guess you like

Origin www.cnblogs.com/qdmpky/p/11986287.html