Java BufferedWriter在现有文件上写入

Java BufferedWriter在现有文件上写入,java,file,text,bufferedwriter,Java,File,Text,Bufferedwriter,我正在尝试创建一个程序,将文本保存到文件中,然后将文本添加到文件中。但是,每次我尝试写入文件时,它都会覆盖它,并且不会写入任何内容。我需要它来添加我想要的任何信息 FileReader input; BufferedReader readFile; FileWriter output; BufferedWriter writeFile; try { // input = new FileReader(password_file);

我正在尝试创建一个程序,将文本保存到文件中,然后将文本添加到文件中。但是,每次我尝试写入文件时,它都会覆盖它,并且不会写入任何内容。我需要它来添加我想要的任何信息

    FileReader input;
    BufferedReader readFile;

    FileWriter output;
    BufferedWriter writeFile;

    try {
    //  input = new FileReader(password_file);
        //readFile = new BufferedReader(input);

        output = new FileWriter(password_file);
        writeFile = new BufferedWriter(output);


        //while ((temp_user= readFile.readLine()) !=null) {
            //temp_pass = readFile.readLine();
        //}

        temp_user = save_prompt.getText();

        temp_pass = final_password;

                                        //Writes to the file
        writeFile.write(temp_user);
        writeFile.newLine();
        writeFile.write(temp_pass);

    }
    catch(IOException e) {
        System.err.println("Error: " + e.getMessage());
    }
}

您需要的是附加模式

new FileWriter(file,true); // true = append, false = overwrite
每当你打字的时候

new BufferedWriter(output);

或“写入”,则覆盖“输出”文件。尝试确保在整个程序过程中只声明一次新的BufferedWriter,并将append()而不是write()附加到文件中。

要将内容附加到文件末尾,请使用
FileWriter

的方法将所有现有内容替换为新内容

new FileWriter(file);
保留现有内容,并在文件末尾追加新内容

new FileWriter(file,true);
例如:

    FileWriter fileWritter = new FileWriter(file.getName(),true);
        BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
        bufferWritter.write(data);
        bufferWritter.close();

将文件写入行程序更改为:

output = new FileWriter(password_file, true);
它告诉FileWriter追加


1)使用另一个FileWriter构造函数,即接受布尔第二个参数的构造函数。API应该能够帮助您。2) 你需要提高一点谷歌搜索技能。请参阅&@HovercraftFullOfEels“你需要提高一点谷歌搜索技能。”我有一个理论,OP的搜索被阻止,因为他们使用了“覆盖”而不是“覆盖”。但这只是一个理论。不要指望我解释那些(现在是5个)没有搜索就仓促回答这个问题的答案。我最好的猜测是“放荡选票”。)@安德烈·霍姆普森:不。只要用他自己的问题主题在谷歌上搜索一下,就会得到很多答案正确的结果。第一个击中的是另一个。同样的问题在kagillion时报上被问到和回答过,在这个网站上再问一个同样的问题对任何人都没有帮助。我坚持我的建议,他应该在谷歌技能上多做点工作。@HovercraftFullOfEels没什么害处:)