如何将字符串添加到 .txt 文件的末尾? [复制]
Posted
技术标签:
【中文标题】如何将字符串添加到 .txt 文件的末尾? [复制]【英文标题】:How to add a string to end of a .txt file? [duplicate] 【发布时间】:2011-03-16 06:53:41 【问题描述】:可能重复:How to append text to an existing file in Java
如何将字符串添加到 .txt 文件的末尾?
【问题讨论】:
到文件名?还是到实际的文件内容?您能否提供更多有关您正在尝试做的事情的背景信息? 你能举个例子说明你试图达到的目标吗???到目前为止你做了什么??? @pgras:你的问号键好像卡住了! @Joachim_Sauer 对于您的编辑来说,这是一个很大的飞跃和假设。 “标题”如何让你相信这个问题是关于内容而不是文件名的?您创建了一个问题,如果没有 OP 的输入,确实没有一个明确的问题。 @Joachim_Sauer 这很公平,但如果你读回原件...... OP 是否会询问重命名文件?甚至或特别是基于人群的反应做出假设可能并不总是最好的方法。这就是我要说的全部内容,这个问题非常模棱两可且含糊不清,需要来自 OP 的进一步输入。一旦编辑它就变成了一个骗子的事实是另一天。 【参考方案1】:来自here
BufferedWriter bw = null;
try
bw = new BufferedWriter(new FileWriter("checkbook.txt", true));
bw.write("400:08311998:Inprise Corporation:249.95");
bw.newLine();
bw.flush();
catch (IOException ioe)
ioe.printStackTrace();
finally // always close the file
if (bw != null)
try
bw.close();
catch (IOException ioe2)
// just ignore it
按照 Joachim Sauer 的建议,您可以使用
,而不是使用FileWriter
new OutputStreamWriter(new FileOutputStream(..), ecnoding)
如果要指定文件的编码。 FileWriter
使用默认编码,从安装到安装不同。
【讨论】:
您是否要对其进行编辑以至少使用一个 txt 文件,以便它看起来不像您只是在寻找任何可以得到的代表,即使问题没有产生很有意义。 ...new FileWriter("checkbook.dat", true) --> 第二个参数“true”表示“追加到文件”... 使用FileWriter
意味着您几乎忽略了整个[编码问题](joelonsoftware.com/articles/Unicode.html],这样做很危险!
@Lazarus 好吧,文件的扩展名根本不重要,如果它是文本文件。还有关于代表的评论 - 你最好省掉那些。
@Joachim Sauer - 公平点。我添加了一个更新来警告它。【参考方案2】:
要查找的英文术语:“append”
您需要执行以下步骤:
-
打开文件。
附加字符串。
关闭文件。
了解FileOutputStream 课程。
【讨论】:
FileOutputStream
在您要将文本写入 .txt 文件时是错误的工具。您将需要使用Writer
。在这种情况下,您想使用包裹在FileOutputStream
周围的OutputStreamWriter
(还有FileWriter
,但由于它不支持specifying an encoding,所以它已损坏)。以上是关于如何将字符串添加到 .txt 文件的末尾? [复制]的主要内容,如果未能解决你的问题,请参考以下文章