我正在设置一个等级系统,其中每个成员都有一个用户名和一个等级。该程序从文本文件中读取用户名和等级,并将其分配给用户。 一个用户名和每行的排名,如:从Java中的文本文件中删除特定行
user1 1
user2 2
user3 3
我已经设置了一个程序来添加用户名和晋升到文本文件,但我似乎无法弄清楚如何从列表中删除特定用户,例如,如果我只想删除用户2和他/她的等级并离开另外两个等级,然而重要的是之后没有留下空白线。
仅供参考这里是我如何写入文件摆在首位代码:
try {
BufferedWriter out = new BufferedWriter(new FileWriter("stafflist.txt", true));
for (int i = 0; i < 1; i++) {
out.newLine();
out.write(target.getUsername() + " " + target.getRights());
}
out.close();
SerializableFilesManager.savePlayer(target);
if (loggedIn) {
target.getPackets().sendGameMessage(modString + Utils.formatPlayerNameForDisplay(member.getUsername()) + "!", true);}
member.getPackets().sendGameMessage(successString + Utils.formatMemberNameForDisplay(target.getUsername()) + " to a Moderator.",true);
loggedIn = false;
} catch (IOException e) {
System.out.println("GiveMod - Can't find stafflist.txt");
}
return true;
也许这有助于[在文件中查找并删除它](http://stackoverflow.com/questions/1377279/find-a-line-in-a-file-and-remove-it) –
@亚历山大坎波斯 - 谢谢你,我已经发现,它适用于我的情况,但是我的程序不喜欢删除和重命名临时列表。我需要一些能够修改并保存当前列表的内容,而不是创建一个新列表。 –
说实话,数据库比平面文件要好得多。 – Powerlord