java如何打开文本
使用 FileReader 和 BufferedReader
通过 FileReader 读取文件,配合 BufferedReader 逐行处理文本内容。示例代码:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadTextFile {
public static void main(String[] args) {
String filePath = "example.txt";
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用 Files.readAllLines(Java 7+)
java.nio.file.Files 提供简便方法直接读取所有行到 List<String>。适用于小文件:

import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class ReadTextFile {
public static void main(String[] args) throws Exception {
String filePath = "example.txt";
List<String> lines = Files.readAllLines(Paths.get(filePath));
for (String line : lines) {
System.out.println(line);
}
}
}
使用 Scanner 逐行读取
Scanner 类适合按分隔符(如行或单词)解析文本:
import java.io.File;
import java.util.Scanner;
public class ReadTextFile {
public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(new File("example.txt"));
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
scanner.close();
}
}
使用 Files.lines(Java 8+ 流式处理)
通过流(Stream)逐行处理大文件,避免内存溢出:
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class ReadTextFile {
public static void main(String[] args) throws Exception {
String filePath = "example.txt";
try (Stream<String> stream = Files.lines(Paths.get(filePath))) {
stream.forEach(System.out::println);
}
}
}
注意事项
- 路径处理:建议使用绝对路径或确保相对路径基于项目根目录。
- 异常处理:务必捕获
IOException,或通过throws声明。 - 资源释放:使用
try-with-resources自动关闭流(如BufferedReader)。






