向文件添加数据
向文件添加数据
这个问题已经有了答案:
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日
在使用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(); } }