FileReaderクラス

まず、FileReaderクラスとはテキストを入力するクラスです。
FileReaderクラスはInputStreamReaderクラスを継承しておりコンストラクタではファイル名を指定してやることが出来ます。
またこのクラスもioパッケージに属しており利用するときは必ずimport宣言してやらなければいけません。

FileReaderクラスのコンストラクタには以下のようなものがあります。

コンストラクタ
説明
FileReader(File file)) 読み込み元のFileを指定して新規FileReaderを作成
FileReader(String filename) 読み込み元のファイルの名前を指定して新規FileReaderを作成

FileReaderクラスにはメソッドはありません。
そのためReaderクラスやInputStreamReaderクラスを継承したメソッドを利用します。

ではサンプルプログラムを見てみます。

サンプルプログラム(FileReaderSample.java)

//import宣言

import java.io.*; class FileReaderSample{ public static void main(String args[]){ try{ //FileReaderオブジェクトの生成 FileReader fr = new FileReader(args[0]); //ファイルからi文字ずつデータを読み込みchar型にキャストして出力 int i; while((i = fr.read()) !=-1){ System.out.print((char)i); } //FileReaderのクローズ fr.close(); }catch(IOException e){ System.out.println("IOException : " + e); }
} }

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイルしてみます。
次に実行ですが、実行の際は入力するファイル名を指定してやります。
ここでは、さきほど(ここ) で作成したサンプル FileWriterSample.javaのtest.txtを指定してみます。

つまり、実行は以下のようにしてやります。

java FileReaderSample test.txt

まず、FileReaderクラスもjava.ioパッケージに属していますからimport宣言してやる必要があります。
while文を使いtest.txtファイルのデータを読み込もうとしています。
while文の条件式の中でread()メソッドを使い1行ずつ読み込んでいます。
読み込むデータがなくなると-1が返ってきますので、条件としては-1以外の値がread()メソッドから返ってきた場合に繰り返し処理を行っています。
また変数iの値をchar型にキャストすることで文字に変換して表示させています。
全ての読み込みが終了した場合の処理としてclose()メソッドを利用してFileReaderクラスを閉じています。
また、ファイルが正常に読み込めなかった場合のために例外処理を行っています。

ページのトップへ戻る