java如何txt文件
读取文本文件
使用 BufferedReader 或 Files 类可以高效读取文本文件内容。以下是两种常见方法:
方法1:使用 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();
}
}
}
方法2:使用 Files.readAllLines(Java 8+)
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));
lines.forEach(System.out::println);
} catch (IOException e) {
e.printStackTrace();
}
}
}
写入文本文件
通过 BufferedWriter 或 Files 类可以实现文本文件的写入操作。
方法1:使用 BufferedWriter
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class WriteFile {
public static void main(String[] args) {
String filePath = "output.txt";
String content = "Hello, Java!";
try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath))) {
bw.write(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
方法2:使用 Files.write(Java 8+)
import java.nio.file.Files;
import java.nio.file.Paths;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class WriteFile {
public static void main(String[] args) {
String filePath = "output.txt";
List<String> lines = Arrays.asList("Line 1", "Line 2");
try {
Files.write(Paths.get(filePath), lines);
} catch (IOException e) {
e.printStackTrace();
}
}
}
追加内容到文件
在写入文件时,通过设置 FileWriter 的追加模式参数为 true,可以在文件末尾追加内容。
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
public class AppendFile {
public static void main(String[] args) {
String filePath = "output.txt";
String content = "Appended text";
try (BufferedWriter bw = new BufferedWriter(new FileWriter(filePath, true))) {
bw.write(content);
bw.newLine();
} catch (IOException e) {
e.printStackTrace();
}
}
}
处理文件路径
使用 Paths.get() 和相对/绝对路径时需注意文件位置。推荐使用绝对路径或项目根目录的相对路径。
import java.nio.file.Path;
import java.nio.file.Paths;
public class FilePathExample {
public static void main(String[] args) {
Path absolutePath = Paths.get("/home/user/example.txt");
Path relativePath = Paths.get("src/resources/example.txt");
System.out.println("Absolute path: " + absolutePath);
System.out.println("Relative path: " + relativePath);
}
}
异常处理
文件操作需捕获 IOException,建议使用 try-with-resources 确保资源自动关闭。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileHandling {
public static void main(String[] args) {
String filePath = "nonexistent.txt";
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.println("Error reading file: " + e.getMessage());
}
}
}






