BeanIO - 解析UTF8文件

时间:2015-08-03 08:26:23

标签: java parsing utf-8 bean-io

解析使用UTF8编码的文件时遇到问题。

除了编码之外,我有两个完全相同的文件。 (我只是复制了文件并用UTF8保存,所以内容完全相同)。一个使用ANSI编码,另一个使用UTF8编码。使用ANSI编码的文件已成功解析,而另一个文件导致BeanIO在调用BeanReader.read()方法时抛出UnidentifiedRecordException:

org.beanio.UnidentifiedRecordException: Unidentified record at line 1

我试图通过使用以下代码将编码显式设置为UTF8来解决此问题:

public static BeanReader getBeanReader(File file, StreamBuilder builder) {
     StreamFactory factory = StreamFactory.newInstance();
     factory.define(builder);
     InputStream iStream;
     try {
         iStream = new FileInputStream(file);
     } catch (FileNotFoundException e) {
         throw new CustomException("Could not create BeanReader, file not found", e);
     }
     Reader reader = new InputStreamReader(iStream, StandardCharsets.UTF_8);
     return factory.createReader("reader", reader);
}

没有解决问题。

出现此错误的原因是什么?

1 个答案:

答案 0 :(得分:0)

由于第一行声称是错误的,您是否保存了UTF-8 没有BOM (文件启动时臭名昭着的零宽度空间)?