Java中更新TXT文件的几种方法
在Java编程中,更新TXT文件是一个常见的操作,TXT文件是一种简单的文本文件,通常用于存储和传输纯文本数据,以下是一些在Java中更新TXT文件的方法,包括读取、修改和保存文件。

使用java.io.File和java.io.FileReader、java.io.FileWriter
这是一种基础的方法,适合对文件进行简单的更新操作。
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
public class UpdateTxtFile {
public static void main(String[] args) {
String filePath = "example.txt";
String contentToAdd = "这是一行新添加的内容。";
try (FileReader fileReader = new FileReader(filePath);
BufferedReader bufferedReader = new BufferedReader(fileReader);
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(filePath))) {
String line;
while ((line = bufferedReader.readLine()) != null) {
bufferedWriter.write(line);
bufferedWriter.newLine();
}
bufferedWriter.write(contentToAdd);
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用java.nio.file.Files
java.nio.file.Files提供了更高级的文件操作功能,包括更新文件。

import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
import java.util.List;
public class UpdateTxtFileWithNIO {
public static void main(String[] args) {
String filePath = "example.txt";
String contentToAdd = "这是一行新添加的内容。";
try {
List<String> lines = Files.readAllLines(Paths.get(filePath), StandardCharsets.UTF_8);
lines.add(contentToAdd);
Files.write(Paths.get(filePath), lines, StandardCharsets.UTF_8);
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用java.nio.file.StandardOpenOption
这种方法允许你在不读取整个文件的情况下直接更新文件。
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.nio.charset.StandardCharsets;
import java.util.stream.Collectors;
public class UpdateTxtFileWithStandardOpenOption {
public static void main(String[] args) {
String filePath = "example.txt";
String contentToAdd = "这是一行新添加的内容。";
try {
List<String> lines = Files.readAllLines(Paths.get(filePath), StandardCharsets.UTF_8);
lines.add(contentToAdd);
Files.write(Paths.get(filePath), lines.stream(), StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING);
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用java.util.Scanner和java.util.ArrayList
这种方法适用于当你需要从文件中读取特定行并进行修改时。

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class UpdateTxtFileWithScanner {
public static void main(String[] args) {
String filePath = "example.txt";
String contentToAdd = "这是一行新添加的内容。";
List<String> lines = new ArrayList<>();
try (Scanner scanner = new Scanner(new java.io.File(filePath))) {
while (scanner.hasNextLine()) {
lines.add(scanner.nextLine());
}
} catch (Exception e) {
e.printStackTrace();
}
lines.add(contentToAdd);
try (java.io.PrintWriter out = new java.io.PrintWriter(new java.io.FileWriter(filePath))) {
for (String line : lines) {
out.println(line);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
是几种在Java中更新TXT文件的方法,根据你的具体需求,你可以选择最合适的方法来实现文件更新。


















