前回、「
Javaでテキストファイルの読み込みを行う」をご紹介しました。
この方法で処理できる場合は良いですが、大きなテキストファイルの内容を1行ずつ読み込んで処理したい時や
CSVを1行ずつ読み込んで処理したい時があります。
テキストファイルを1行ずつ読み込む時は、一般的に BufferedReader.readLine() を使います。
しかし、この方法でプログラムを組むと、ソースが長くなり読みにくくなる人が多いと思います。
テキストファイルを読み込む処理と、テキスト内容を処理する部分をちゃんと分けて書けるとソースが読みやすくなりますが、
直感的に読みにくくなってしまうのがJavaの弱点ではないかと思います。
そこで、拡張for文を使って完結に、読みやすいソースをご紹介します。
Javaで次のようなコードを目指します!
(他の言語では、何もしなくてもこれで読めてしまうことが多いです。Pythonとか。)
File file = new File("sample.txt");
for (String line : file) {
// テキストファイルの1行に対する処理を記述する
System.out.println(line);
}
上記のように書けると便利だと思いませんか?