使用Java将文本写入下一行

使用Java将文本写入下一行,java,Java,因此,我尝试将内容写入文件,它可以工作,但当我多次调用此方法时,它会删除我以前使用新方法编写的内容。所以我想知道我应该怎么做,这样这个方法就不会删除我以前添加到文件中的文本,并将新文本添加到 下一行 public static void writetofile(String id, String content) throws IOException { try { FileWriter filewriter = new FileWriter("Random.txt")

因此,我尝试将内容写入文件,它可以工作,但当我多次调用此方法时,它会删除我以前使用新方法编写的内容。所以我想知道我应该怎么做,这样这个方法就不会删除我以前添加到文件中的文本,并将新文本添加到 下一行

public static void writetofile(String id, String content) throws IOException
{
    try {

        FileWriter filewriter = new FileWriter("Random.txt");
        BufferedWriter out = new BufferedWriter(filewriter);
        out.write(id+" "+ content);
        out.close();
    } 
    catch (Exception e)
    {
        System.out.println(e.getMessage());
    }
}

FileWriter
的构造函数签名,带有一个控制追加行为的布尔参数。如果您需要追加,则应将此布尔值设置为
true
,以构造
FileWriter

FileWriter filewriter = new FileWriter("Random.txt", true);

请注意,对于单参数构造函数,输出写入文件的开头(请参见
FileOutputStream
的实现,它由
FileWriter
包装),因此调用单参数构造函数相当于将布尔参数设置为
false

FileWriter
的构造函数签名,带有控制追加行为的布尔参数。如果您需要追加,则应将此布尔值设置为
true
,以构造
FileWriter

FileWriter filewriter = new FileWriter("Random.txt", true);
FileWriter filewriter = new FileWriter("Random.txt", true);
请注意,对于单参数构造函数,输出写入文件的开头(请参见
FileOutputStream
的实现,它由
FileWriter
包装),因此调用单参数构造函数相当于将布尔参数设置为
false

FileWriter filewriter = new FileWriter("Random.txt", true);
根据java文档

在给定文件对象的情况下构造FileWriter对象。如果第二个参数为
true
,则字节将写入文件的末尾而不是开头

Parameters:
文件-要写入的文件对象

append-如果为true,则字节将写入文件的末尾而不是开头

根据java文档

在给定文件对象的情况下构造FileWriter对象。如果第二个参数为
true
,则字节将写入文件的末尾而不是开头

Parameters:
文件-要写入的文件对象


append-如果为true,则字节将写入文件的结尾而不是开头

阅读
FileWriter
的javadoc。您需要告诉FileWriter追加到现有文件,而不是过度写入。@user3320160:请奖励帮助过您的人和您的问题。谢谢。请阅读
FileWriter
的javadoc。您需要告诉FileWriter附加到现有文件中,而不是写得太多。@user3320160:请奖励帮助过您的人和您的问题。谢谢