UTF8 でエンコードされたファイルを解析するときに問題が発生します。
エンコーディングを除いて完全に同一の 2 つのファイルがあります。(ファイルをコピーしてUTF8で保存しただけなので、内容は同じです)。1 つは ANSI を使用してエンコードされ、もう 1 つは UTF8 を使用してエンコードされます。ANSI でエンコードされたファイルは正常に解析されますが、他のファイルは BeanReader.read() メソッドを呼び出すときに BeanIO が 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);
}
これは問題を解決しません。
このエラーの原因は何ですか?