1

tabbedPane からすべてのタブ データを含む .ini ファイルを保存しようとしています。しかし、これらのタブには UTF-8 文字が含まれている可能性があるため、ファイルを BOM なしで UTF-8 として保存する必要があります。

UTF-8 .ini ファイルの読み取りに問題はありませんが、次のようになります。

InputStreamReader reader = null;
reader = new InputStreamReader(
new FileInputStream(file), "UTF-8");
ini.load(reader);

編集したデータを保存するとすぐに、ANSI として保存され、ANSI 以外の文字が \uXXXX (X = 数値) に変換されます。

OutputStreamWriter writer  = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");
ini.store(writer);

私の TabbedPane には正しく表示されているので、読むにはそれほど悪くはありませんが。手動で編集するのは悪いので、これらのエスケープされた \uXXXX 文字を使用せずに、ファイルを BOM なしの UTF8 として保存したいと考えています。

それで、私は何を間違っていますか?

4

1 に答える 1

3

Iniクラスには、動作をカスタマイズするために使用できるメソッドがsetConfigあります。

特に、プロパティが false に設定されている a は、ASCII 以外の文字のエスケープを抑制しますConfigescape

于 2013-11-22T07:33:27.637 に答える