1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

BufferedReaderでテキストをまとめて読み込む(readLineメソッド)【Java】

Last updated at Posted at 2023-04-17

「BufferedReaderクラスでファイルを1行ずつ読み込む方法」
Javaにはファイルを読み込むための「BufferedReaderクラス」があります。

BufferedReaderとは

BufferedReaderクラスとは、テキストファイルを読み込むためのクラス。
BufferedReaderクラスでは、テキストファイルを1行ずつ読み込むreadlineメソッドが用意されている。
テキストファイルを読み込むクラスにはFileReaderクラスもあるが、こっちはテキストを1文字ずつ読み込むため効率が悪い場合がある。
そのため、テキストファイルの読み込みはBufferedReaderクラスを使うようにするのがよい!

BufferedReaderの使い方

readLineメソッドは指定したテキストファイルを1行ずつ読み込み、String型の戻り値として返す。
ファイルの終わりに到達した場合は「null」を返す。
そのため、ファイルの終わりまで読み込む場合には、while文でnullが返されるまでループさせる。

コード例

Main.java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
 
public class Main {
 
    public static void main(String[] args) {
        try {
            // ファイルのパスを指定する
            File file = new File("c:SampleTest.txt");
         
            // ファイルが存在しない場合に例外が発生するので確認する
            if (!file.exists()) {
                System.out.print("ファイルが存在しません");
                return;
            }
         
            // BufferedReaderクラスのreadLineメソッドを使って1行ずつ読み込み表示する
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String data;
            while ((data = bufferedReader.readLine()) != null) {
                System.out.println(data);
            }
         
            // 最後にファイルを閉じてリソースを開放する
            bufferedReader.close();
         
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
//実行結果
SAMURAI
ENGINEER

文字コードを変換して読み込む方法

BufferedReaderクラスで読み込む前に処理を加えることで、別の文字コードに変換することが可能。
先ほどのサンプルコードでは、FileReaderクラスのオブジェクトを指定してBufferedReaderクラスで読み込みを行った。
別の文字コードに変換して読み込む場合は、「InputStreamReader」及び「FileInputStream」クラスを拡張したオブジェクトを指定してBufferedReaderクラスで読み込む。

参考サイト

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?