如何将字符串添加到 .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 文件的末尾? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在TX中将txt行复制到ArrayList中?

追加到 C 中文件的末尾

Bash:将字符串添加到文件末尾而不换行

使用 Node.js 将一行写入 .txt 文件

【python】批量读取txt,并在文件开头和每一行末尾添加字符串

如何在每一行的末尾添加每个单词?单词和行在不同的txt文件中