/* 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)に戻る