javaでテキストファイル内容を読み込む方法は?
Javaはテキストファイルの内容を読み取るためのFileReaderやBufferedReaderクラスを使用できます。
FileReaderクラスを使用する
- FileReaderオブジェクトを作成し、第一引数に読み込むファイルのパスを渡す。
- read()メソッドを使ってファイルの内容を読み取り、ループを使用すれば、ファイルの内容を連続的に読み取ることができます。
- ファイルを close() メソッドで閉じる
このコードは、次のようになります。
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample {
public static void main(String[] args) {
FileReader fileReader = null;
try {
fileReader = new FileReader("file.txt");
int data;
while ((data = fileReader.read()) != -1) {
System.out.print((char) data);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fileReader != null) {
try {
fileReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
BufferedReaderクラスを使用します:
- FileReaderオブジェクトを作成し、読み込むファイルのパスを引数で渡します。
- FileReaderオブジェクトをパラメータとして受け取るBufferedReaderオブジェクトを作成します。
- readLine()メソッドを使用してファイルの内容を逐次読み込み、末尾に到達してnullが返されるまで続ける。
- ファイルをクローズするにはclose()メソッドを使用します。
次のコード例をご覧ください。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileExample {
public static void main(String[] args) {
BufferedReader bufferedReader = null;
try {
FileReader fileReader = new FileReader("file.txt");
bufferedReader = new BufferedReader(fileReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
FileReaderやBufferedReaderを使ってファイルを読み込む際は、IOExceptionが発生しないようにエラー処理を行い、読み込みが終わったら必ずファイルを閉じるように注意する。