紹介
この記事では、Javaを使用してファイルの内容を行ごとに読み取るさまざまな方法について学びます。この記事では、次のJavaクラスのメソッドを使用しています:java.io.BufferedReader
、java.util.Scanner
、Files.readAllLines()
、およびjava.io.RandomAccessFile
。
BufferedReader
を使用してファイルを行ごとに読み取る
java.io.BufferedReader
からreadLine()
メソッドを使用して、ファイルを行ごとに文字列に読み込むことができます。このメソッドは、ファイルの末尾に達した場合にnull
を返します。
次は、BufferedReader
を使用してファイルを行ごとに読み取る例プログラムです:
package com.journaldev.readfileslinebyline;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFileLineByLineUsingBufferedReader {
public static void main(String[] args) {
BufferedReader reader;
try {
reader = new BufferedReader(new FileReader("sample.txt"));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
// 次の行を読み取る
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
BufferedReader
API Doc(Java SE 8)を使用して学習を続けてください。
Scannerを使用してファイルを1行ずつ読む
Scanner
クラスを使用して、ファイルを開き、その内容を1行ずつ読むことができます。
次に、Scanner
を使用してファイルを1行ずつ読むプログラムの例を示します。
package com.journaldev.readfileslinebyline;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFileLineByLineUsingScanner {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Scanner
APIドキュメント(Java SE 8)で学習を続けてください。
Files
を使用してファイルを1行ずつ読む
java.nio.file.Files
はさまざまな便利なメソッドを含むユーティリティクラスです。 readAllLines()
メソッドを使用して、すべてのファイル行を文字列のリストに読み込むことができます。
Files
を使用してファイルを1行ずつ読むプログラムの例を以下に示します。
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadFileLineByLineUsingFiles {
public static void main(String[] args) {
try {
List<String> allLines = Files.readAllLines(Paths.get("sample.txt"));
for (String line : allLines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
続きを学習してください:Files
API Doc(Java SE 8)。
RandomAccessFile
を使用してファイルを行単位で読み取る
RandomAccessFile
を使用してファイルを開き、そのreadLine
メソッドを使用してファイルを行単位で読み取ることができます。
次はRandomAccessFile
を使用してファイルを行単位で読み取るプログラムの例です:
package com.journaldev.readfileslinebyline;
import java.io.IOException;
import java.io.RandomAccessFile;
public class ReadFileLineByLineUsingRandomAccessFile {
public static void main(String[] args) {
try {
RandomAccessFile file = new RandomAccessFile("sample.txt", "r");
String str;
while ((str = file.readLine()) != null) {
System.out.println(str);
}
file.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
続きを学習してください:RandomAccessFile
API Doc(Java SE 8)。
結論
この記事では、Javaを使用してファイルの内容を行単位で読み取るさまざまな方法について学びました。
さらに多くのJavaチュートリアルで学習を続けてください。
Source:
https://www.digitalocean.com/community/tutorials/java-read-file-line-by-line