外部インタフェース/API | ![]() ![]() |
例題のメイン関数phonebook
は、電話帳にあるエントリのキーである引数を使わずに、あるいは1つ使って呼び出すことができます。関数は、最初に電話帳ファイル用に利用するディレクトリを決定します。
電話帳ファイルが存在しない場合は、java.io.FileOutputStream
オブジェクトを作成し、出力ストリームをクローズして作成します。つぎに、ハッシュテーブル内のキーと値の組の格納用のjava.util.Hashtable
のサブクラスであるJava APIクラスjava.util.Properties
のオブジェクトを作成することにより、データ辞書を作成します。phonebook
プログラムでは、キーは名前で、値は1つまたは複数の電話番号です。
関数phonebook
は、java.io.FileInputStream
オブジェクトを作成することにより、読み込み用の入力ストリームを作成してオープンします。ハッシュテーブルの内容が存在すれば、それをロードするためにオブジェクトについてloadを呼び出します。ユーザがルックアップのためにキーをエントリに渡した場合は、エントリを探して表示するpb_lookup
を呼び出すことによりエントリをルックアップします。その後、関数phonebook
は、リターンします
phonebook
が名前の引数なしで呼び出された場合は、可能な電話帳のアクションをテキスト化したメニューを表示します。
メニューは、プログラムを終了する選択肢も含みます。関数は、MATLAB関数を使ってメニューを表示し、ユーザの選択を入力します。
関数phonebook
は、ユーザがメニューエントリで終了を選択するまで、ユーザの選択を受け取り、要求された電話帳のアクションを繰り返します。その後、関数phonebook
は、java.io.FileOutputStream
オブジェクトを作成することにより、ファイル用の出力ストリームをオープンします。オブジェクトについてsave
を呼び出し、カレントのデータ辞書を電話帳ファイルに書き出します。最後に、出力ストリームをクローズしてリターンします。
![]() | serialexampleプログラムの実行 | 関数phonebookの説明 | ![]() |