Java 以表单形式解析带有@Parsed注释的CSV文件-Univocity解析器
我正试图解析一个CSV文件,其中包含一些表单文件中的Java 以表单形式解析带有@Parsed注释的CSV文件-Univocity解析器,java,csv,univocity,Java,Csv,Univocity,我正试图解析一个CSV文件,其中包含一些表单文件中的@Parsed注释,但它不起作用 我正在使用univocitylib Init.java 但我的输出总是类似于: [Ljava.lang.String;@7591083d [com.opessoftware.fire.csv.reader。FireReportFormGeneral@77a567e1, com.opessoftware.fire.csv.reader。FireReportFormGeneral@736e9adb] 当然,我做错了
@Parsed
注释,但它不起作用
我正在使用univocity
lib
Init.java
但我的输出总是类似于:
[Ljava.lang.String;@7591083d
[com.opessoftware.fire.csv.reader。FireReportFormGeneral@77a567e1,
com.opessoftware.fire.csv.reader。FireReportFormGeneral@736e9adb]
当然,我做错了什么,但我找不到答案
谢谢
编辑:
我解决了这个问题
例如,如果调用beans.get(index).getAccountName()
,它将为我返回值。您可以向FireReportFormGeneral.java添加一个toString()方法,那么您的系统.out.println()应该更具可读性
例如
这只是一个简单的示例,没有空检查、StringBuilder等
这能解决您的问题吗?什么是巡更解析器?
univocity解析器
?如果是这样,请重新标记帖子。@AmirPashazadeh我无法标记univocity,我已经尝试了:/
public static void main(String[] args) throws FileNotFoundException {
CsvParserSettings parserSettings = new CsvParserSettings();
BeanListProcessor<FireReportFormGeneral> rowProcessor = new BeanListProcessor<FireReportFormGeneral>(FireReportFormGeneral.class);
parserSettings.setRowProcessor(rowProcessor);
parserSettings.setHeaderExtractionEnabled(true);
CsvParser parser = new CsvParser(parserSettings);
parser.parse(new FileReader("/home/jose/Desktop/example.csv"));
List<FireReportFormGeneral> beans = rowProcessor.getBeans();
System.out.println(rowProcessor.getHeaders());
System.out.println(beans);
}
@Parsed(field = "Account Number")
private String accountNumber;
@Parsed(field = "Account Type")
private String accountType;
@Parsed(field = "Bank Client Identification Number")
private String bankClientIdNumber;
@Parsed(field = "Account Opening Date")
private String accountOpeningDate;
//getters and setters
public String toString(){
return "Account number: " + accountNumber + " Account Type: " + accountType;
}