在将文本附加到现有文件之前,我们假设我们的 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 Program to get the current directory了解更多信息。
同样,要添加的文本存储在变量
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()
方法附加给定的
text 并关闭文件编写器。