我试图使用一个文本文件作为数据库,我遇到了一个问题。问题是,当我在文本文件中写入用户信息时,当我添加第二个用户时,它不会写入下一行。它只是覆盖了旧的。如何添加writetonextline之类的东西?
public void addAdmin(String adminName, String adminSurName, String adminUserName, String adminPassword) throws IOException {
BufferedWriter writer = new BufferedWriter(new FileWriter("C:\\Users\\cemon\\IdeaProjects\\Library\\src\\database\\AdminUserData.txt"));
writer.write(adminName + " " + adminSurName);
writer.newLine();
writer.write(adminUserName + " " + adminPassword);
writer.newLine();
writer.close();
}
2条答案
按热度按时间mrphzbgm1#
坏主意。你怎么知道你没有添加一个重复的用户?
如果您想要一个简单的文本文件作为数据库,请在启动时将该文本文件加载到内存中,例如作为数据库
Map<String, User>
键入者adminUserName
,并在其中添加新用户。每当值更改时,将所有用户写回文本文件。这也确保了(将来)像“remove user”这样的操作能够正常工作。
建议实施
UserStore
使用建议的Map
作为一个字段,对程序的其余部分隐藏(封装)实现。wko9yo5t2#
要启用吗
append
中的模式FileWriter
. 这意味着当你写一个新行,而不是覆盖,它会添加另一行。您的代码应该是: