【发布时间】:2017-04-05 22:09:53
【问题描述】:
我有一个这样的属性文件:
[flags]
prop1=value
prop2=value
[patterns]
prop3=#.00
prop4=###,##0.00
[other]
prop5=value
当我处理文件时,不仅井号被转义 (#),而且我的所有属性都乱序了。
我的代码是这样的:
Properties props = new Properties();
FileInputStream in = null;
try
{
in = new FileInputStream(PROP_FILE);
Reader reader = new InputStreamReader(in, StandardCharsets.UTF_8);
props.load(reader);
}
catch (IOException e)
{
// log exception
}
finally
{
if (in != null)
{
try
{
in.close();
}
catch (IOException e)
{
// log exception
}
}
}
props.setProperty("prop5", "otherValue");
try
{
OutputStreamWriter w = new OutputStreamWriter(new FileOutputStream(INI_FILE), StandardCharsets.UTF_8);
props.store(w, null);
}
catch (IOException e)
{
// log exception
}
我正在使用props.store(),因为我不知道在调用props.setProperty() 之后保存属性文件的另一种方法。
【问题讨论】:
-
听起来您试图错误地使用属性文件。他们不是意味着被订购的,是的,事情会在需要的时候被逃脱。听起来你真的想要一个像 Windows“ini”文件这样的东西......
-
@JonSkeet,谢谢!就是这样。几年前,我使用 ini4j 来做到这一点。我会仔细看看的。再次感谢!
标签: java properties-file