2014年4月4日金曜日

開発環境

Head First Java 第2版 ―頭とからだで覚えるJavaの基本(Kathy Sierra (著)、Bert Bates (著)、島田 秋雄 (監修)、神戸 博之 (監修)、高坂 一城 (監修)、夏目 大 (翻訳)、オライリージャパン)の14章(シリアライゼーションとファイルI/O)、エクササイズ(プログラミングマグネット(p.467))を解いてみる。

エクササイズ(プログラミングマグネット(p.467))

コード(BBEdit, Emacs)

DungeonTest.java

import java.io.*;

class DungeonTest {
    public static void main(String [] args) {
        DungeonGame d = new DungeonGame();

        System.out.println(d.getX() + d.getY() + d.getZ());
        try {
            FileOutputStream fos = new FileOutputStream("dg.ser");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            oos.writeObject(d);
            oos.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        try {
            FileInputStream fis = new FileInputStream("dg.ser");
            ObjectInputStream ois = new ObjectInputStream(fis);
            d = (DungeonGame) ois.readObject();
            ois.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(d.getX() + d.getY() + d.getZ());
    }
}

class DungeonGame implements Serializable {
    public int x = 3;
    transient long y = 4;
    private short z = 5;
    int getX() {
        return x;
    }
    long getY() {
        return y;
    }
    short getZ() {
        return z;
    }
}

入出力結果(Terminal)

$ javac DungeonTest.java && java DungeonTest
12
8
$

0 コメント:

コメントを投稿