当然,Java 中读取文件内容有多种方法,以下是三种常用的方法及其代码片段:
### 方法一:使用 `FileReader` 和 `BufferedReader`
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileReadExample1 {
public static void main(String[] args) {
String filePath = "path/to/your/file.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` 和 `Streams`(Java 7+)
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;
public class FileReadExample2 {
public static void main(String[] args) {
String filePath = "path/to/your/file.txt"; // 文件路径
try {
List<String> lines = Files.readAllLines(Paths.get(filePath));
lines.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
}
}
### 方法三:使用 `FileInputStream` 和 `BufferedReader`
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class FileReadExample3 {
public static void main(String[] args) {
String filePath = "path/to/your/file.txt"; // 文件路径
try (BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), "UTF-8"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
每种方法都有其适用场景。`FileReader` 和 `BufferedReader` 是最基本的文件读取方式,适用于大多数情况。`Files` 和 `Streams` 是 Java 7 引入的,提供了更简洁的API来处理文件,特别是在处理大文件时。而 `FileInputStream` 和 `BufferedReader` 允许你指定字符编码,这在处理非默认编码的文件时非常有用。