我正在使用SuperCSV解析CSV文件。它完美無瑕。 我傳遞的CSV文件可能包含一些無效的記錄。那時,是否有可能記錄哪一行沒有被處理?在SuperCSV失敗時在日誌中添加錯誤行
List<InputBean> csvContentsList = new ArrayList<InputBean>();
ICsvBeanReader beanReader = new CsvBeanReader(fileReader, CsvPreference.STANDARD_PREFERENCE);
InputBean bean = null;
do {
try {
bean = beanReader.read(InputBean.class, header, getProcessors());
if (bean != null)
csvContentsList.add(bean);
} catch (Exception e) {
logger.error("Error in parsing the record:"+e.getMessage());
}
} while (bean != null);
在此代碼中,如果CSV文件包含無效記錄,則會引發錯誤並將其捕獲到catch塊中。怎麼可能打印該無效記錄?或者它的行號?
如果你不喜歡捕捉異常,也可以實現這一點使用抑制和收集各異常的小區處理器。有關示例,請參閱[這裏](http://stackoverflow.com/questions/13646982/validate-every-field-in-a-single-pass-with-supercsv/13658467#13658467)。 –