我看过无数的论坛帖子和关于如何写文件的文章,但无济于事我遇到了一个有用的文章。我目前使用的是一个声明为:
的FileWriter public FileWriter filewriter;
然后使用
启动 try {
filewriter = new FileWriter(textfile, true);
} catch (IOException e) {
e.printStackTrace();
}
然后我用以下内容写入文件:
try {
filewriter.write(string + "string");
filewriter.flush();
catch (IOException e) {
e.printStackTrace();
}
那么如何制作它以便我的作者不会覆盖当前文本,并且会在文本中添加新行。
例如(尝试使用这些作为示例):我想写下面的
那么我该如何从Java中完全写出来。所有这些都是在不同的时间发起的,比如每当你点击一个按钮时,第一行写入,每当你再次点击它时,它会写第二行,依此类推。
答案 0 :(得分:0)
编写的代码是正确的。它会在文件末尾写入数据,并覆盖任何现有数据。
唯一的可能的问题是,如果现有文件的最后一行没有以行终止符结束,那么您在末尾写入的第一行额外数据将被附加到和前一个最后一行。如果这是您关注的问题,那么简单的解决方法是首先添加一个空行;例如filewriter.write(newline);
其中newline
包含适当的行终止字符。
(我还注意到你写的“代码”不包含显式行终止符。它是字符串的一部分吗?可能是你的问题?Writer.write(...)
方法不会自动添加行终止符。 ..)