在将文本追加到现有文件之前,我们假设在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
在上面的程序中,我们使用System
的user.dir
属性获取存储在变量path中的当前目录。检查Java程序以获取当前目录以获取更多信息。
同样,要添加的文本存储在变量text中 。然后,在try-catch
块中,我们使用Files
的write()
方法将文本追加到现有文件中。
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()
方法附加给定的文本并关闭文件编写器。