1行入力

ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin Expander等)を使って解凍して下さい。

1行まとめて扱うBufferedReaderクラス

BufferedReaderクラスのreadLineメソッドを使うと、文字を1行まとめて読めます。
此のクラスは、FileReaderクラスで確立したストリームを使って、インスタンス化します。

例: FileReader f = new FileReader("temp.txt");
BufferedReader in = new BufferedReader(f);

readLineメソッドは、Stringクラスのオブジェクトを返します。
改行位置迄読み込みますが、戻り値の文字列には改行は含まれません。
ファイルの終わり(EOF)であれば、「null」を返します。

例: String s = in.readLine();

画面の構成を考える

画面には、ファイル名を入力する「テキストフィールド」とファイルからの読み込みを始める「読み込みボタン」、其れに、ファイルの内容を表示する「テキストエリア」をBorderLayoutに配置します。

クラスの構成を決める

クラスは、下の表の様な構成にします。

クラス名 クラスの役割 内容
ReadLineFromFileGui フレーム メインのクラス
BorderLayoutでパネルを配置
ButtonPanel GUI部品を載せるパネル ファイル名を入力するテキストフィールドと読み込みを開始するボタンを載せる
ReadButton 読み込み開始ボタン 此のボタンが押されたら、テキストフィールドに指定されたファイル名からテキストデータを入力してテキストエリアに表示

テキストエリアの文字の色を変更

テキストエリアの文字の色を変更するには、setForegroundメソッドを使います。

テキストエリアのオブジェクト.setForeground(色);

此処では、通常処理の中ではマゼンタに、例外処理の中ではオレンジに設定します。

テキストエリアの文字を追加

ファイルからの読み込みは1行毎になるので、1行読む度にテキストエリアに読み込んだ情報を追加する事になります。
追加するには、appendメソッドを使います。

テキストエリアのオブジェクト.append(文字列);

ファイルから読み込んだ文字列には、改行を表す「\n」は付加されない為、「\n」を加えて明示する必要が有ります。

fileContentsArea.append(s+"\n");
ソース ダウンロード
ReadLineFromFile.java ReadLineFromFile.zip
ReadLineFromFileGui.java

戻る