Java txt 文件作为数据库

Cem*_*ner 0 java database

我正在尝试将文本文件用作数据库,但遇到了问题。问题是当我在文本文件上写入用户信息时,当我添加第二个用户时它不会写入下一行。它只是覆盖旧的。如何添加 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();
}
Run Code Online (Sandbox Code Playgroud)

And*_*eas 5

馊主意。你怎么知道你没有添加重复的用户?

如果您想要一个简单的文本文件作为数据库,请在启动时将文本文件加载到内存中,例如作为Map<String, User>keyed by adminUserName,然后在那里添加一个新用户。每当值更改时,将所有用户写回文本文件。

这也确保了(未来)诸如“删除用户”之类的操作将正常工作。

建议实现一个UserStore带有建议Map字段的类,以保持实现对程序的其余部分隐藏(封装)。