java - 如何追加到java中的文件末尾?

标签 java file-io bufferedreader

...
Scanner scan = new Scanner(System.in);
System.out.println("Input : ");
String t = scan.next();

FileWriter kirjutamine = new FileWriter("...");
BufferedWriter out = new BufferedWriter(writing);
out.write(t)    
out.close();
...

如果我在文件中写入一些字符串,那么它会转到第一行。但是如果再次运行该程序,它会将新文本写入之前的文本(到第一行)。我想做的是:如果我插入一些东西,它就会转到下一行。例如:

after 1 input) text1

after 2 input) text1

               text2

等等……

我应该在代码中更改什么? 谢谢!

最佳答案

java.io.PrintWriter pw = new PrintWriter(new FileWriter(fail, true));

这应该可以做到。在现有 pw 线上使用它。

编辑:正如评论中所解释的,这导致了以下事情的发生:

  1. 正在创建 FileWriter,可选的“附加”标志设置为 true。这会导致 FileWriter 不会覆盖文件,而是打开它进行追加并将指针移动到文件末尾。

  2. PrintWriter 正在使用这个 FileWriter(而不是用您传递给它的文件创建它自己的。)

(这里进行了很多编辑。我有几次不确定这个问题。)

关于java - 如何追加到java中的文件末尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5896133/

相关文章:

java - 如何将两个 char[] 添加到 List<Object>?

java - Vaadin - 如何自定义 MenuBar 使其看起来像链接

python - 将字符串中的特定索引更改为相同的值 python

java - 循环和 BufferedReader 的问题

java - 如何从输入文件中读取指定的字符串,然后读取其后面的下一个单词

java - 图像像素操作 : Use native APIs or 3rd party libraries?

java - 如何使用 jmustache 库获取模板参数?

javascript - 有没有可以进行文件操作的javascript引擎

c - 在 C 中用 fread 和 fwrite 提问

java - BufferedReader 在 read() 时阻塞