Java ObjectInputStream 和 ObjectOutputStream

Java ObjectInputStream 和 ObjectOutputStream


概述

  • 該流可以將一個基本數據和對象進行序列化,或者讀取一個基本數據和對象到程序中. 也就是執行了序列化和反序列化的操作

  • 被序列化的對象的類必須實現 Serializable 接口

序列化和反序列化對象的示例

ObjectOutputStream output = null;
ObjectInputStream input = null;

try {
    // 創建兩個商品對象
    Product p1 = new Product("冰箱", 1000);
    Product p2 = new Product("電視機", 2000);

    // 創建對象輸出流
    output = new ObjectOutputStream(new FileOutputStream("product.obj"));
    // 寫出兩個對象
    output.writeObject(p1);
    output.writeObject(p2);

    // 關閉輸出流
    output.close();

    // 創建對象輸入流,讀取被持久化的對象
    input = new ObjectInputStream(new FileInputStream("product.obj"));

    // 打印對象信息
    System.out.println(input.readObject());
    System.out.println(input.readObject());

    // 關閉流
    input.close();

} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if(input != null) {
            input.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    }finally {
        try {
            if(output != null) {
                output.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
  • 運行結果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章