java实现文本操作,使用java实现逐行读取文本的四种方法
介绍
在本文中,您将了解使用 Java 逐行读取文件内容的不同方法。本文使用来自以下 Java 类的方法:java.io.BufferedReader、java.util.Scanner、Files.readAllLines()和java.io.RandomAccessFile。
1. 使用 BufferedReader 逐行读取文件
您可以使用readLine() 方法java.io.BufferedReader逐行读取文件到 String。当到达文件末尾时,此方法返回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);
// read next line
line = reader.readLine();
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. 使用Scanner 逐行读取文件
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();
}
}
}
3. 使用Files 逐行读取文件
java.nio.file.Files是一个包含各种有用方法的实用程序类。该readAllLines()方法可用于将所有文件行读入字符串列表。
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();
}
}
}
4. 使用 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();
}
}
}
本文链接:https://www.518wz.top/post/9.html 转载需授权!