/* ClassTableWriter
* 利用目的:テキストファイルから読み込んだ「時間割」をファイルに出力する
*/
import java.io.*; // 入出力関連パッケージの利用を宣言する
import java.util.*; // ユーティリティパッケージの利用を宣言する
public class ClassTableWriter {
/*属性の定義*/
Vector week; //「時間割」を格納するVector
/*メソッド1・テキストファイルから「時間割」を読み込む*/
public void readData( String fileName ){
try{
/*テキストファイル入力の準備をする*/
BufferedReader reader =
new BufferedReader( new FileReader( fileName ));
/*テキストファイルから「時間割」を読み込んでVectorに格納する*/
week = new Vector(); //「時間割」を格納するVectorをインスタンス化する
int i = 1; // 「時間割」の内容を順に読み込んでVectorに格納する
while(i <= 5){
Vector day = new Vector(); //「1日分の時間割」を格納するVectorを用意する
int j = 1; //「1日分の時間割」の内容を読み込んでVectorに格納する
while( j <= 5){
ClassTable ct = new ClassTable(); //ClassTableを実体化する
ct.inputData(reader); //inputDataを起動して「授業の情報」を読み込む
day.addElement(ct); //Vectorに格納する
j++;
}
week.addElement(day); //「1日分の時間割」を「時間割」の要素としてVectorに格納する
i++;
}
}//エラーが出たらエラーメッセージを表示してプログラムを終了する
catch(Exception e){System.out.println("エラーが発生したのでプログラムを終了します");}
}
/*メソッド2・「時間割」をデータファイルとして出力する*/
public void fileOut(){
try{
/*ファイル出力の準備をする*/
FileOutputStream fos = //ファイルを出力する準備をする
new FileOutputStream( "Week.data" );
ObjectOutputStream oos = //インスタンスを出力する準備をする
new ObjectOutputStream( fos );
/* 「1日分の時間割」を出力する */
oos.writeObject(week);
}//エラーが出たらエラーメッセージを表示してプログラムを終了する
catch(Exception e){System.out.println("エラーが発生したのでプログラムを終了します");}
}
/*メインメソッド・テキストファイルから入力された「時間割」をデータファイルとして出力する*/
public static void main ( String args[] ){
try{
/*ClassTableWriterをインスタンス化する*/
ClassTableWriter ctw = new ClassTableWriter();
/*読み込むテキストファイル名をキーボードから読み込む*/
BufferedReader reader = //キーボード入力の準備をする
new BufferedReader( new InputStreamReader( System.in ));
System.out.print( "読み込むテキストファイルのファイル名>" ); //メッセージを表示してファイル名の入力を促す
String fName = reader.readLine(); //テキストファイル名を読み込む
/*指定されたテキストファイルから「時間割」を読み込む*/
ctw.readData( fName );
/*「1日分の時間割」をファイルとして出力する*/
ctw.fileOut();
}//エラーが出たらエラーメッセージを表示してプログラムを終了する
catch(Exception e){System.out.println("エラーが発生したのでプログラムを終了します");}
}
}
|
>>第7講・その1(3)に戻る