Java ini4j读取windows软件创建的文件时出错

Java ini4j读取windows软件创建的文件时出错,java,netbeans,ini4j,Java,Netbeans,Ini4j,我正在尝试使用ini4j从windows软件日志文件获取数据。该文件看起来像: [Production] Code=I-MS01-11002 Time=2012-01-25T15:58:50+02:00 RequestType=Process Order OrderID=0183 当我尝试时: Wini ini = new Wini(fileList[i]); System.out.println(ini.keySet()); 输出为:[?,p r o d u c t i o n] 请告诉我

我正在尝试使用ini4j从windows软件日志文件获取数据。该文件看起来像:

[Production]
Code=I-MS01-11002
Time=2012-01-25T15:58:50+02:00
RequestType=Process Order
OrderID=0183
当我尝试时:

Wini ini = new Wini(fileList[i]);
System.out.println(ini.keySet());
输出为:[?,p r o d u c t i o n]


请告诉我哪里出错。

我发现原始文件是以UTF16格式保存的。一种变通方法,似乎有效,但可能不是最好的方法:

InputStream is = new BufferedInputStream(new FileInputStream(fileList[i]));
Reader reader = new InputStreamReader(is, "UTF-16");
Ini ini = new Ini();
ini.load(reader);
System.out.println(ini.keySet());

现在输出为:[Production]

问题与文件的保存方式有关。如果我在文本编辑器中打开该文件,复制所有内容,并将其粘贴到新文件中,则上述代码可以正常工作。