【问题标题】:How to do multiple writes to the same file. [JAVA] [duplicate]如何对同一个文件进行多次写入。 [JAVA] [重复]
【发布时间】:2015-11-25 17:31:32
【问题描述】:

有这个方法:

这将被调用多次。

我的目标是在每次调用时,它都会在该文件中已经存在的内容之后写入,而不是覆盖任何内容。它是如何完成的,它只是写了最后一次调用的内容。

我该怎么做?

提前致谢。

【问题讨论】:

  • 使用BufferedWriter,但连接整个文本而不使用StringBuilder...哎哟...
  • @fabian 你能帮帮我吗?
  • 您可以使用BufferedWriter 直接将数据写入文件(它甚至有一个为您附加行分隔符的方法)。如果通过重复连接多个字符串在内存中创建字符串,最好使用StringBuilder,因为这样程序不会在每次应用+ 运算符时创建新的String 对象。
  • @fabian 所以我应该创建一个 StringBuilder 对象并附加所有节点,然后将其写入 BufferedWriter?你能解释一下这句话吗“......因为这样程序不会在每次应用 + 运算符时创建一个新的 String 对象......”。提前致谢。
  • 如果你有一个BufferedWriter,用它来写数据,而不是在主内存中组装整个字符串。如果您需要编写不将字符串写入BufferedWriter 但在内存中创建字符串的不同代码,请查看StringBuilder

标签: java eclipse string file buffer


【解决方案1】:

调用FileWriter的ovverloaded构造函数

 FileWriter fw = new FileWriter(file,true);

如果您传递true,它将追加而不是覆盖

【讨论】:

  • 非常感谢!你救了我!为问题投票!
  • 但这会将所有内容再次附加到文件的旧内容上。我的目标是在一个“程序运行”中“在每个方法调用”。但是当我再次运行程序时,它应该会覆盖旧内容。
  • imgur.com/Kgrh2P8 见这里。每个段落都是一个方法调用。因此它在第一次调用中写入 1 段,然后在下一行附加 3 段。但是当我再次运行程序时,它会将新的所有 4 段附加到“旧”段中。目标只是在方法调用之间而不是在程序运行之间追加。你懂我吗?
猜你喜欢
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-09
  • 2013-09-23
相关资源
最近更新 更多