我正在尝试保存一个 .ini 文件以及 tabbedPane 中的所有选项卡数据,我已经成功做到了。但由于这些选项卡可能包含 UTF-8 字符,因此我希望将文件保存为不带 BOM 的 UTF-8。
虽然我读取 UTF-8 .ini 文件没有问题:
InputStreamReader reader = null;
reader = new InputStreamReader(
new FileInputStream(file), "UTF-8");
ini.load(reader);
一旦我想保存编辑后的数据,它就会将其保存为 ANSI 并转换\uXXXX 中的非 ANSI 字符(X = 数字):
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
ini.store(writer);
虽然它对于阅读来说并不是很糟糕,因为它在我的 TabbedPane 中正确显示。 这不利于手动编辑,因此我想将文件保存为无 BOM 的 UTF8 格式,并且不包含这些转义的\uXXXX 字符。
那么我做错了什么?
最佳答案
Ini
类有一个方法 setConfig
,可用于自定义行为。
特别是,将 escape
属性设置为 false 的 Config
将抑制非 ascii 字符的转义。
关于java - 将 UTF8 与 ini4j 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20138953/