java如何读取一个txt文件
读取 txt 文件的几种方法
在 Java 中,读取 txt 文件可以通过多种方式实现,以下是常见的几种方法:
使用 BufferedReader 逐行读取
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
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 读取所有行
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
String filePath = "example.txt";
try {
List<String> lines = Files.readAllLines(Paths.get(filePath));
for (String line : lines) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用 Scanner 逐行读取
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadFile {
public static void main(String[] args) {
String filePath = "example.txt";
try (Scanner scanner = new Scanner(new File(filePath))) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
使用 Files.readString 读取整个文件内容(Java 11+)
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
String filePath = "example.txt";
try {
String content = Files.readString(Paths.get(filePath));
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用 FileInputStream 读取字节流
import java.io.FileInputStream;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
String filePath = "example.txt";
try (FileInputStream fis = new FileInputStream(filePath)) {
int content;
while ((content = fis.read()) != -1) {
System.out.print((char) content);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
注意事项
- 文件路径可以是相对路径或绝对路径,确保路径正确。
- 使用
try-with-resources语法可以自动关闭资源,避免内存泄漏。 - 处理大文件时,建议使用
BufferedReader逐行读取,避免内存不足。







