如何在java中附加到文件的末尾?

3 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();
...
Run Code Online (Sandbox Code Playgroud)

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

after 1 input) text1

after 2 input) text1

               text2
Run Code Online (Sandbox Code Playgroud)

等等...

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

Joh*_*ick 6

java.io.PrintWriter pw = new PrintWriter(new FileWriter(fail, true));
Run Code Online (Sandbox Code Playgroud)

这应该做到这一点.在现有的pw线上使用它.

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

  1. 正在创建FileWriter,可选的'append'标志设置为true.这会导致FileWriter不覆盖该文件,但打开它以追加并将指针移动到文件的末尾.

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

(这里有很多编辑.我几次不确定这个问题.)

  • +1.您应该解释一下,布尔"true"是一个可选的附加标志,另外还有一个指向docs的链接(旧的vsersion,Google没有提供更新的)http://download.oracle.com/javase/1.4.2/docs /api/java/io/FileWriter.html (2认同)