为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中向现有文件添加新行文本?

如何在Java中向现有文件添加新行文本?

翻过高山走不出你 2019-12-26 09:11:02
我想在不删除该文件的当前信息的情况下向现有文件添加新行。简而言之,这是我使用当前时间的方法:import java.io.BufferedWriter;import java.io.FileWriter;import java.io.Writer;Writer output;output = new BufferedWriter(new FileWriter(my_file_name));  //clears file every timeoutput.append("New Line!");output.close();上面几行的问题是,它们只是擦除了我现有文件的所有内容,然后添加了新的行文本。我想在文件内容的末尾添加一些文本,而不删除或替换任何内容。
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

您必须以附加模式打开文件,这可以通过使用FileWriter(String fileName, boolean append)构造函数来实现。


output = new BufferedWriter(new FileWriter(my_file_name, true));

应该可以


查看完整回答
反对 回复 2019-12-26
?
萧十郎

TA贡献1815条经验 获得超13个赞

解决方案可以使用FileWriter,但是您无法指定输出编码,在这种情况下,将使用计算机的默认编码,并且通常不是UTF-8!


因此,最好使用FileOutputStream:


    Writer writer = new BufferedWriter(new OutputStreamWriter(

        new FileOutputStream(file, true), "UTF-8"));


查看完整回答
反对 回复 2019-12-26
?
交互式爱情

TA贡献1712条经验 获得超3个赞

试试:“ \ r \ n ”


Java 7示例:


// append = true

try(PrintWriter output = new PrintWriter(new FileWriter("log.txt",true))) 

{

    output.printf("%s\r\n", "NEWLINE");

catch (Exception e) {}


查看完整回答
反对 回复 2019-12-26
  • 3 回答
  • 0 关注
  • 501 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信