java - 使用 ini.store() 方法写入 ini 文件时如何去掉空格?

标签 java ini ini4j

我正在使用 Java API ini4j解析 ini 文件。我的原始 .ini 文件具有以下键值格式:

[section]
key=value

= 字符周围没有空格。

但是在使用 ini.store() 方法将更改保存到文件中后(其中 ini 是引用我的 .ini 文件的 Ini 对象),.ini 文件中的内容变为

[section]
key = value

= 字符周围插入了额外的空格。我不确定我是否正确使用了 store() 方法。有没有办法去掉空格?

---- 更新 ----

根据这个answer ,我在代码中插入了以下几行:

Config config = new Config();
config.setStrictOperator(true);
ini.setConfig(config);

空格已被删除。但我对分号有一个新问题:

# before
[bashful]
weight = 45.7
height = 98.8
age = 67
homePage = http://snowwhite.tale/~bashful
homeDir = /home/bashful

# after
[bashful]
weight=45.7
height=98.8
age=67
homePage=http\\\://snowwhite.tale/~bashful
homeDir=/home/bashful

最佳答案

问题终于解决了。贴出我自己的解决方案以供将来引用:

要去掉 = 之前和之后的空格,需要使用:

Config config = ini.getConfig(); // instead of Config config = new Config()  
config.setStrictOperator(true);
ini.setConfig(config); 

确保您使用的是 Wini,而不是 Ini。如果您使用 Ini 和 config.setStrictOperator(true),问题是您会看到在一些特殊字符之前插入了额外的反斜杠,例如 :" 等。简单的解决方法是将 Ini 更改为 Wini:

Wini ini = new Wini(new File(filename));

关于java - 使用 ini.store() 方法写入 ini 文件时如何去掉空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49785474/

相关文章:

java - 在客户端(浏览器)的 Java EE Web 应用程序上播放音频

java - 如何在 JavaFX 中为窗口添加阴影?

php - MySQL 服务器已经消失 (PHP)

delphi - TMemIniFile.Create 中德语元音变音字符异常

java - 转换为可运行 Jar 文件时读取 .ini 文件

java - 如何在表格单元格编辑器中给 JTable 单元格选择背景和前景色

java - Java中如何实现对象代理或类代理?

app-config - 如何在 INI 配置文件中设置 bool 值?

java - 如何使用ini4j编写ini文件