我有一个真正的快速问题。我有一个Java程序,我在其中使用属性文件。该文件用于跟踪程序的用户。我的问题是我无法弄清楚如何添加到文件。我知道如何将现有的属性设置为一个值,但我不知道如何添加更多的属性,而不用重写其他属性。如何使用Java为属性文件添加属性?
我想让程序“注册”用户,可以这么说。每当新用户注册时,我希望程序添加一个包含新用户信息的新属性。我遇到这个问题,但: 例如:
File: numOfUsers=0
一个用户注册。用户名是'c00lGuy'。程序在文件中注册:
File: numOfUsers=1 user1-username=c00lGuy
另一个用户注册。她决定打电话给她的用户名'theGr8Girl'。该程序注册的:
File: numOfUsers=2 user2-username=theGr8Girl
两个用户注册后的文件:
File: numOfUsers=2 user2-username=theGr8Girl
如何防止从该文件在覆盖现有生产线我的程序?它似乎删除文件的内容,然后添加我告诉它的内容。我不希望它删除文件的内容。
我使用注册的属性代码:
Properties prop = new Properties();
OutputStream output = null;
int userCount = getUserCount();
userCount++;
try {
output = new FileOutputStream(fileName);
// set the properties value
prop.setProperty("numOfUsers", String.valueOf(userCount));
prop.setProperty("user" + userCount + "-username", username);
// save properties to project root folder
prop.store(output, null);
} catch (IOException io) {
io.printStackTrace();
} finally {
if (output != null)
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这不是属性文件的用途。它们被设计成由人类提供的(只读)配置。你在谈论坚持状态;你应该使用一个数据库(或至少,一个单独的文件)。 – 2014-09-27 14:02:54
@OliverCharlesworth好的。谢谢。我会检查出来的。 – Rane 2014-09-27 14:09:35
@Rane - 你是否必须使用属性,或者你只是寻找一种快速简单的方法来保存数据? – Chris 2014-09-27 14:09:55