マルチメディア・プログラミング実習 後期 第8回

java.io の Serialization
java.utilパッケージのクラス

JDK1.1 で提供されるようになった Serializationの機能、 java.utilパッケージの Propetis, Vector, Enumerationなどを練習してみましょう。
準備:

ディレクトリ www の下の java2 に移動しなさい。
学内の人は、下記のようにして必要なデータファイルをコピーしてください。


  cp  ~tatsuo/st96.data  .

このデータは Serialization の機構で利用できる形式になっています。 応用で紹介するオブジェクトのエディタのアプリケーションや、 通常のテキストデータから変換するようなクラス によって作成することができます。
基本課題1:

「アプリケーションの実行環境を表示する」

  1. Systemクラスの getProperties()メソッドを利用して アプリケーションの実行環境の一覧を表示するプログラムです。 ソース・プログラム PrintEnv.java を作成しなさい。
  2. javac コマンドでコンパイルしなさい。
  3. javaコマンドで Javaインタープリタ(仮想マシン)を呼び出し実行しなさい。

基本課題2:

「データとなるクラスの準備」

    この後のアプリケーションで利用する「学生のデータ」を取り扱う Studentというクラスを用意しておきます。 ソース・プログラム Student.java を作成しなさい。 後でまとめてコンパイルすればよいので、作成できたら次の課題に進みなさい。

基本課題3:

「Studentのオブジェクトをファイルに保存」

  1. Serializationを使って、Studentのオブジェクトを直接ファイルに保存する プログラムを作成します。 ソース・プログラム StudentSaver.java を作成しなさい。

  2. javac コマンドでコンパイルをしなさい。

  3. java コマンドでプログラムを実行しなさい。

    *このクラスは、単独で実行するとサンプルのデータを student.data という 名前のファイルに保存します。実行後に、そのファイルが生成されていること を確認しなさい。

基本課題4:

「Studentのオブジェクトをファイルから読み込む」

  1. Serializationを使って、Studentのオブジェクトを直接ファイルから読み込む プログラムを作成します。 ソース・プログラム StudentLoader.java を作成しなさい。

  2. javac コマンドでコンパイルをしなさい。

  3. java コマンドでプログラムを実行しなさい。 引数に st96.dataを与えた場合の実行結果も確認しなさい。

    
      java  StudentLoader
      java  StudentLoader  st96.data
    
    

応用課題1:

「オブジェクトのエディタ」

不特定個数の Studentオブジェクトを編集できるエディタを実現します。 3個のソースファイル StudentEditPanel.java , ControlPanel.java , StudentEditor.java を用意し、StudentEditor.java をコンパイルしなさい。
javaコマンドで StudentEditorを起動し、 ファイルの読み込み、データの表示、データの変更、 データの削除、保存の機能を確認しなさい。


実習の目次  今週の講義の内容