我正试图用选项卡窗格中的所有选项卡数据保存一个.ini文件,我已经做到了。但由于这些选项卡可能包括UTF-8字符,我希望文件保存为UTF-8,而不包含BOM。
虽然我在阅读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字符的转义。