java - 将 UTF8 与 ini4j 一起使用

标签 java utf-8 escaping ini4j

我正在尝试保存一个 .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/

相关文章:

java - 如何使用 Apache HttpClient 4 添加对已弃用的 SSL 密码套件的支持

java - 我想用Java Swing制作DJ音乐混合软件(如Virtual DJ),这可能吗?

java - 当 JOIN FETCH 与主 ID 以外的引用列一起使用时,Hibernate 执行多个查询

python - 可以使用 latin-1 编码写入标准输出但不能写入文件 (Python 2.6)

python - Unicode解码错误: 'utf8' codec can't decode byte 0x80 in position 0: invalid start byte

c# - 如何替换反斜杠字符的所有实例?

c++ - 从 cin 读取 int 数字,直到按下 ESC C++

java : How to determine the correct charset encoding of a stream

bash - 将 shell 脚本设置为 utf8

css - 我可以在 pre 中包含元素吗?