LoginSignup
1
1

More than 3 years have passed since last update.

【自分用メモ】BufferedReaderを使用したファイルの読み込み

Posted at

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) {}//中身はカラでもいいし、エラーメッセージを出力してもいい
            }
        }
    }
}


1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1