java如何读
读取文件的方法
使用 java.nio.file.Files 类的 readAllBytes 或 readAllLines 方法可以快速读取文件内容。
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
// 读取为字节数组
byte[] bytes = Files.readAllBytes(Paths.get("file.txt"));
// 读取为字符串列表(按行)
List<String> lines = Files.readAllLines(Paths.get("file.txt"));
使用 BufferedReader 逐行读取
对于大文件,建议使用 BufferedReader 逐行读取以避免内存问题。

import java.io.BufferedReader;
import java.io.FileReader;
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
}
使用 Scanner 读取
Scanner 类适合读取结构化文本数据,支持按分隔符或正则表达式处理。

import java.io.File;
import java.util.Scanner;
try (Scanner scanner = new Scanner(new File("file.txt"))) {
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
System.out.println(line);
}
}
读取二进制文件
对于二进制文件(如图片),使用 FileInputStream 读取字节流。
import java.io.FileInputStream;
import java.io.IOException;
try (FileInputStream fis = new FileInputStream("image.png")) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
// 处理二进制数据
}
}
使用第三方库
Apache Commons IO 提供简化文件操作的实用方法。
import org.apache.commons.io.FileUtils;
String content = FileUtils.readFileToString(new File("file.txt"), "UTF-8");
注意事项
- 处理文件路径时建议使用
Paths.get()或File类构造绝对路径。 - 资源管理应使用 try-with-resources 确保流自动关闭。
- 大文件避免一次性读取,采用流式或分块处理。






