java如何打开txt
读取txt文件的几种方法
使用FileReader和BufferedReader组合
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
使用Files类(Java 7+)
try {
List<String> lines = Files.readAllLines(Paths.get("file.txt"));
lines.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
使用Scanner类
try (Scanner scanner = new Scanner(new File("file.txt"))) {
while (scanner.hasNextLine()) {
System.out.println(scanner.nextLine());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
写入txt文件的几种方法
使用FileWriter和BufferedWriter
try (BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {
bw.write("要写入的文本内容");
bw.newLine();
} catch (IOException e) {
e.printStackTrace();
}
使用Files类
try {
Files.write(Paths.get("output.txt"), "内容".getBytes());
} catch (IOException e) {
e.printStackTrace();
}
处理相对路径和绝对路径
相对路径基于项目根目录或当前工作目录
String relativePath = "src/main/resources/file.txt";
绝对路径需要完整路径
String absolutePath = "C:/path/to/file.txt";
异常处理建议
对于文件操作,必须处理IOException。使用try-with-resources语句可以自动关闭资源。
编码处理
指定字符编码读取文件
BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream("file.txt"), "UTF-8"));
指定编码写入文件

BufferedWriter bw = new BufferedWriter(
new OutputStreamWriter(
new FileOutputStream("output.txt"), StandardCharsets.UTF_8));






