我正在尝试使用表单文件中的某些univocity
注释解析CSV文件,但它无效。
我正在使用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);
}
lib
Init.java
@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
FireReportFormGeneral.java
beans.get(index).getAccountName()
但我的输出总是如下:
[Ljava.lang.String; @ 7591083d [com.opessoftware.fire.csv.reader.FireReportFormGeneral@77a567e1, com.opessoftware.fire.csv.reader.FireReportFormGeneral@736e9adb]
我确实做错了什么,但我找不到答案。
感谢。
编辑:
我解决了问题
问题是如果来电@Config(emulateSdk = 18)
public class Test {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
//test some block of code
}
}
,例如它会为我返回值。
答案 0 :(得分:0)
您可以将一个toString()方法添加到FireReportFormGeneral.java,然后您的System.out.println()应该更具可读性。
例如
public String toString(){
return "Account number: " + accountNumber + " Account Type: " + accountType;
}
这只是一个简单的例子,没有空检查,StringBuilder等......
这会解决您的问题吗?