gpt4 book ai didi

java - 为什么代码不更改 .properties 文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:39:47 25 4
gpt4 key购买 nike

我有以下代码,它必须向 .properties 文件中的现有属性添加新值,如果该属性不存在,则创建它。

public String saveProperties(ArrayList<Property> properties, String customerId){
final String userPropFieldName = "users." + customerId + ".rules";
try{
PropertiesConfiguration props = new PropertiesConfiguration("/home/mikhail/bzrrep/DLP/DLPServer/src/main/resources/rules.properties");

for (Property property: properties){
String fieldName = "rules." + property.getName() + "." + property.getType();
String[] values = (property.getValue()).split("\\,");
for (String word: values){
System.out.print(word + " ");
}

if (util.exist(fieldName, props)){
props.setProperty(fieldName, values);
} else {
props.addProperty(fieldName, values);
}

String[] userProperties = props.getStringArray(userPropFieldName);
if (property.getAccepted()){
userProperties = util.addNewValue(userProperties, fieldName);
} else {
userProperties = util.removeValue(userProperties, fieldName);
}
props.setProperty(userPropFieldName, userProperties);
}
}catch (ConfigurationException e){
e.printStackTrace();
}
return "Saved";
}

我使用调试器运行它,并且所有值都正确,我的意思是,属性的​​正确名称和数组中的正确值,因此,看到它添加或设置新值,但最后我没有看到属性文件中有任何更改。

最佳答案

将修改后的属性保存到文件

props.save();

了解更多:http://commons.apache.org/proper/commons-configuration/userguide/howto_properties.html#Saving

顺便说一句,将属性直接保存到源代码(src/main/resources/rules.properties)通常是个坏主意。

关于java - 为什么代码不更改 .properties 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16250380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com