Java中如何追加文件内容

后端 潘老师 7个月前 (10-19) 134 ℃ (0) 扫码查看

学习如何使用BufferedWriter、PrintWriter、FileOutputStream和Files类在Java中追加数据到文件。在所有示例中,在打开文件以进行写入时,我们传递了第二个参数为true,表示文件需要以追加模式打开。

1.使用NIO Files

使用Files类,我们可以使用其write()函数来写入文件。在内部,write()函数使用OutputStream将字节数组写入文件。

要将内容追加到现有文件中,请在写入内容时使用StandardOpenOption.APPEND。

String textToAppend = "Happy Learning !!";
Path path = Paths.get("c:/temp/samplefile.txt");
Files.write(path, textToAppend.getBytes(), StandardOpenOption.APPEND);

2. 使用BufferedWriter

BufferedWriter在将数据写入文件之前会将数据缓冲在内部字节数组中,因此它会减少IO操作并提高性能。

要将字符串追加到现有文件中,请在打开写入器时以追加模式打开,并将第二个参数传递为true。

String textToAppend = "Happy Learning !!";
Strinng filePath = "c:/temp/samplefile.txt";
try(FileWriter fw = new FileWriter(filePath, true);
BufferedWriter writer = new BufferedWriter(fw);) {
  writer.write(textToAppend);
}

3. 使用PrintWriter

我们可以使用PrintWriter将格式化的文本写入文件。PrintWriter实现了在PrintStream中找到的所有print()方法,因此我们可以使用在System.out.println()语句中使用的所有格式。

要将内容追加到现有文件中,请在打开写入器时通过将第二个参数传递为true以追加模式打开。

String textToAppend = "Happy Learning !!";
String fileName = "c:/temp/samplefile.txt";
try(FileWriter fileWriter = new FileWriter(fileName, true);
PrintWriter printWriter = new PrintWriter(fileWriter);) {
  printWriter.println(textToAppend);
}

4. 使用FileOutputStream

使用FileOutputStream将二进制数据写入文件。FileOutputStream用于写入原始字节流,如图像数据。对于写入字符流,请考虑使用FileWriter。

要将内容追加到现有文件中,请在打开FileOutputStream时通过将第二个参数传递为true以追加模式打开。

String textToAppend = "\r\n Happy Learning !!";
String fileName = "c:/temp/samplefile.txt";
try(FileOutputStream outputStream
  = new FileOutputStream(fileName, true)) {
  byte[] strToBytes = textToAppend.getBytes();
  outputStream.write(strToBytes);
}

版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/9909.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】