集册 Java实例教程 序列化Java对象

序列化Java对象

欢马劈雪     最近更新时间:2020-01-02 10:19:05

421
序列化一个类,以便可以还原它。

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;/*来 自 nowjava*/

import java.io.ObjectInputStream;

import java.io.ObjectOutputStream;

import java.io.Serializable;


public class Main {

  public static void main(String[] args) {

    Main example = new Main();

    example.start();

  }


  private void start() {

    MyClass settings = new MyClass("The title of the application");

    saveSettings(settings, "settings.bin");

    MyClass loadedSettings = loadSettings("settings.bin");

    if (loadedSettings != null)/** from 时 代 J a v a 公 众 号 - nowjava.com**/

      System.out.println("Are settings are equal? :"

          + loadedSettings.equals(settings));


  }


  private void saveSettings(MyClass settings, String filename) {

    try {

      FileOutputStream fos = new FileOutputStream(filename);

      try (ObjectOutputStream oos = new ObjectOutputStream(fos)) {

        oos.writeObject(settings);

      }

    } catch (IOException e) {

      e.printStackTrace();

    }

  }


  private MyClass loadSettings(String filename) {

    try {

      FileInputStream fis = new FileInputStream(filename);

      ObjectInputStream ois = new ObjectInputStream(fis);

      return (MyClass) ois.readObject();

    } catch (IOException | ClassNotFoundException e) {

      e.printStackTrace();

    }

    return null;

  }


}


class MyClass implements Serializable {


  private String t
展开阅读全文