FileReaderは一文字ずつ読み込むメソッド。
これをBufferingFilterを使用して、処理効率を上げよう!
package practice1;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Read {
public static void main(String[] args) {
//FileReader=1文字ずつ読み込む動き
//BufferedReader=一定数読んでため込んで、たまったら放出(普通は一行ずつ)
FileReader fr=null;
BufferedReader br=null;
//finallyメソッドでclose処理ができるように、tryメソッドの外側で宣言。
//もしtryメソッド内で宣言してfinallyメソッドでclose()しようとするとローカル変数重複になる。
try {
fr=new FileReader("c:\\work\\filetest.txt");
//あらかじめc:に作っておいたworkフォルダにfiletestファイルを作って以下の処理で使用
br=new BufferedReader(fr);
//読み込み と ためこみ放出 の機能を組み合わせ!
String brLine=br.readLine(); //brLineに代入することで、1文読んだ後に正しく出力できる。
while(brLine!=null) {
System.out.println(brLine);
brLine=br.readLine();
}
}catch(IOException e) {
e.printStackTrace(); // //エラーの詳細を、コンソールに赤文字で表示させるクラス
//System.out.println("読み書きのエラーが発生しました");
}finally { //try-catchブロックがどう動いたとしても最後に必ず実行するfinallyメソッド
if(br!=null) {
try {
br.close();
}catch(IOException e) {}//中身はカラでもいいし、エラーメッセージを出力してもいい
}
if(fr!=null) {
try {
fr.close();
}catch(IOException e) {}//中身はカラでもいいし、エラーメッセージを出力してもいい
}
}
}
}