このガイドでは、Javaを使用してテキストファイルを読み込む方法を説明します。以下のコード例では、BufferedReader
を使用してファイルを1行ずつ読み込む方法を示しています。
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileRead {
public static void main(String[] args) {
try {
FileInputStream fs = new FileInputStream("data.txt");
InputStreamReader isr = new InputStreamReader(fs, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String data;
while ((data = br.readLine()) != null) {
System.out.println(data);
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
目次
コードの説明
インポート文
BufferedReader
、FileInputStream
、InputStreamReader
、およびIOException
をインポートしています。これらはファイルを読み込む際に必要なクラスです。
クラス定義とメインメソッド
- クラス名は
FileRead
とし、main
メソッド内でファイルの読み込みを行います。
ファイルの読み込み
FileInputStream fs = new FileInputStream("data.txt");
- ファイル「data.txt」を読み込むための
FileInputStream
オブジェクトを作成します。
- ファイル「data.txt」を読み込むための
InputStreamReader isr = new InputStreamReader(fs, "UTF-8");
FileInputStream
から読み込んだバイトデータをInputStreamReader
を使って文字データに変換します。文字コードとして「UTF-8」を指定しています。
BufferedReader br = new BufferedReader(isr);
InputStreamReader
をラップすることで、ファイルの内容を1行ずつ効率よく読み込むことができるようにしています。
ファイルの内容を読み込んで表示
while ((data = br.readLine()) != null)
readLine()
メソッドを使用して、ファイルから1行ずつ読み込みます。null
が返されるまで繰り返します。
System.out.println(data);
- 読み込んだ1行の内容をコンソールに出力します。
リソースの解放
br.close();
- 使用したリソースを解放するために
BufferedReader
を閉じます。
- 使用したリソースを解放するために
例外処理
catch (IOException e)
- ファイルの読み込み中にエラーが発生した場合、
IOException
がキャッチされ、エラーメッセージが出力されます。
- ファイルの読み込み中にエラーが発生した場合、
注意点
- ファイル名「data.txt」は相対パスで指定していますが、絶対パスを使用する場合はフルパスで指定してください。
- ファイルのエンコーディングを指定しないと、環境によっては文字化けする可能性がありますので、適切なエンコーディング(この例では「UTF-8」)を指定することをお勧めします。
まとめ
このコードを使うことで、Javaでテキストファイルを簡単に読み込むことができます。BufferedReader
を使うと、ファイルの内容を1行ずつ効率的に処理することが可能です。ファイルの読み込みは多くのプログラムで必要になる基本的な操作ですので、ぜひ覚えておきましょう。
コメント