ファイルに書き込まれた数値データなどを読み込みたい場合は、文字ストリームを用いる。文字ストリーム関連の処理はtryステートメントの中に書く。これはファイル操作にはエラーなどの問題が発生する場合があるので、問題が生じたら適切な処理を行う必要があるからである。 まずFileReaderクラスのオブジェクトを作成する。以下のように宣言し、読み込みたいファイル名を指定する。
FileReader オブジェクト名=new FileReader("ファイル名")
ファイルを読み込むには
オブジェクト名.read()
を使って読み込む。ファイルの終端に達したら-1が返されるので、これを上手く使ってwhileループなどで数値データなどを読み取っていく。ファイルの読み込みが終わったら
オブジェクト名.close()
このプログラムでは、1から11までの数字を半角スペースを空けて書き込み、2つ数字を書き込んだら改行を行われるように数値データが書き込まれたファイルを読み込みコマンドプロンプトに表示させ、さらに同じ内容を別のファイルに書き込む。読み込むファイル名はinput.dataであり、作成するファイル名はoutput.dataである。
import java.io.*; class Fileread { public static void main(String arg[]) { int i; try { FileReader fr=new FileReader("input.data"); //FileReaderオブジェクトの作成 FileWriter fw=new FileWriter("output.data"); while((i=fr.read())!=-1) //ファイルの終わりに達すると-1が返されるので、そこでループ終了 { System.out.print((char)i); //読み取ったデータを文字で表示する。 fw.write(i); //読み取ったデータを書き込む } fr.close(); fw.close(); } catch(Exception e) { System.out.println(e); //エラーが起きたらエラー内容を表示 } } }
プログラムを実行すると以下の通りに画面に表示され、同じ内容がoutputdataに書き込まれる。
0 1 2 3 4 5 6 7 8 9 10 11
Java講座一覧に戻る