跳到主要内容

Java 程序:向现有文件追加文本

要理解此示例,您应该具备以下 Java 编程 主题的知识:

在我们向已存在的文件中追加文本之前,我们假设在我们的 src 文件夹中有一个名为 test.txt 的文件。

以下是 test.txt 的内容:

This is a
Test file.

示例 1:向已存在的文件中追加文本

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;

public class AppendFile {

public static void main(String[] args) {

String path = System.getProperty("user.dir") + "\\src\\test.txt";
String text = "Added text";

try {
Files.write(Paths.get(path), text.getBytes(), StandardOpenOption.APPEND);
} catch (IOException e) {
}
}
}

当你运行程序后,test.txt 文件现在包含:

This is a
Test file.Added text

在上述程序中,我们使用 Systemuser.dir 属性获取当前目录并存储在变量 path 中。更多信息请查看 Java 程序获取当前目录

同样,要追加的文本存储在变量 text 中。然后,在 try-catch 块内,我们使用 Fileswrite() 方法向已存在的文件中追加文本。

write() 方法接受给定文件的路径、要写入的文本以及文件打开方式。在我们的例子中,我们使用了 APPEND 选项进行写入。

由于 write() 方法可能会返回一个 IOException,我们使用 try-catch 块来正确捕获异常。

示例 2:使用 FileWriter 向已存在的文件中追加文本

import java.io.FileWriter;
import java.io.IOException;

public class AppendFile {

public static void main(String[] args) {

String path = System.getProperty("user.dir") + "\\src\\test.txt";
String text = "Added text";

try {
FileWriter fw = new FileWriter(path, true);
fw.write(text);
fw.close();
}
catch(IOException e) {
}
}
}

程序的输出与示例 1 相同。

在上述程序中,我们没有使用 write() 方法,而是使用 FileWriter 实例(对象)向已存在的文件中追加文本。

创建 FileWriter 对象时,我们传递文件的路径和 true 作为第二个参数。true 表示我们允许文件被追加。

然后,我们使用 write() 方法追加给定的 text 并关闭文件写入器。