向文件添加数据

13 浏览
0 Comments

向文件添加数据

这个问题已经有了答案:

如何创建一个文件并写入它?

private void AddAccount(String usernamenew, String passwordnew) {
    final String FileName = "F:/TextFiles/loginaccs.txt";
    File file = new File(FileName);
        try {
            BufferedReader br = new BufferedReader(new FileReader(file));
            BufferedWriter bw = new BufferedWriter(new FileWriter(file));
            bw.write(usernamenew);
            bw.newLine();
            bw.write(passwordnew);
            bw.newLine();
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
}

在这个方法中,我尝试向文本文件中写入两行额外的内容,即一个新的用户名和一个新的密码。

在删除了一些行后,程序删除了文本文件中的所有内容并写入了两行,这不是我想要的结果。

我做错了什么吗?感谢您的帮助。

admin 更改状态以发布 2023年5月21日
0
0 Comments

在使用BufferedWriter写文件后,你需要关闭它,这是正确的。

然而,之后你又创建了一个FileOutputStream。另外,在同一时间内不应该同时拥有同一文件的读取器和写入器。你只需要创建BufferedWriter,写入文件并关闭它即可。

private void AddAccount(String usernamenew, String passwordnew) {
    final String FileName = "F:/TextFiles/loginaccs.txt";
    File file = new File(FileName);
        try {
           // BufferedReader br = new BufferedReader(new FileReader(file));
            BufferedWriter bw = new BufferedWriter(new FileWriter(file));
            bw.write(usernamenew);
            bw.newLine();
            bw.write(passwordnew);
            bw.newLine();
            bw.close();
           // FileOutputStream fos = new FileOutputStream(file);      
           // fos.close();
           // br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
}

0