gpt4 book ai didi

java - 如何将 Properties.store() 分隔符从 "="更改为 ":"?

转载 作者:行者123 更新时间:2023-11-30 04:55:11 24 4
gpt4 key购买 nike

我最近发现了java.util.Properties,它允许我编写和读取配置,而无需为其编写自己的函数。

我很兴奋,因为它是如此易于使用,但后来在我存储修改后的配置文件时发现了一个缺陷。

这是我的代码,目前非常简单:

FileWriter writer = null;
Properties configFile = new Properties();
configFile.load(ReadFileTest.class.getClassLoader().getResourceAsStream("config.txt"));

String screenwidth = configFile.getProperty("screenwidth");
String screenheight = configFile.getProperty("screenheight");
System.out.println(screenwidth);
System.out.println(screenheight);
configFile.setProperty("screenwidth", "1024");
configFile.setProperty("screenheight", "600");
try {
writer = new FileWriter("config.txt" );
configFile.store(writer, null);
} catch (IOException e) {
e.printStackTrace();
}
writer.flush();
writer.close();

我注意到的问题是我尝试编辑的配置文件是这样存储的:

foo: bar
bar: foo
foobar: barfoo

但是,properties.store(writer, null)之后的输出是这样的:

foo=bar
bar=foo
foobar=barfoo

我编辑的配置文件不适用于我的程序,它适用于其他应用程序,该应用程序需要配置文件采用上面显示的格式,并使用 : 作为分隔符,否则它将重置配置默认。

有人知道如何轻松更改此设置吗?

我现在搜索了前 5 个 Google 页面,但发现没有人遇到类似的问题。我还检查了 Javadoc,发现没有任何函数可以让我在不自己编写类的情况下更改它。我现在想使用 Properties,因为它就在那里并且非常易于使用。我还想到在保存文件后将所有 = 替换为 : 但也许有人有更好的建议?

最佳答案

不要使用不是为该任务设计的工具 - 不要在此处使用Properties。相反,我只是写你自己的 - 应该很容易。

您仍然可以使用 Properties 实例作为“存储”,但不要使用它来将属性序列化为文本。相反,只需使用 FileWriter,迭代属性,然后自己编写行 - 作为 key + ": "+ value

关于java - 如何将 Properties.store() 分隔符从 "="更改为 ":"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8778717/

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