在该程序中,您将学习将Java文本追加到现有文件的各种技巧。
在将文本追加到现有文件之前,我们假设在src文件夹中有一个名为test.txt的文件。
这是test.txt的内容
This is a
Test file.
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块来正确捕获异常。
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相同。
在上述程序中,我们使用FileWriter的实例(对象)代替文本(而不是使用write()方法)将文本追加到现有文件中
在创建FileWriter对象时,我们传递文件的路径,并将true作为第二个参数。 true表示我们允许附加文件
然后,我们使用write()方法追加给定的文本并关闭文件写入器