我尝试使用Camel bindy来处理我的csv文件。该文件的行如下所示:
1111;"2016-06-21";"12:15";"Test1";"1";
2222;"2016-06-21";"12:16";"Test2";"2";
我的模型文件是:
@CsvRecord(separator = ";")
public class CsvBean implements Serializable {
@DataField(pos = 1)
private Integer key;
@DataField(pos = 2, pattern = "yyyy-MM-dd")
private Date date;
@DataField(pos = 3, pattern = "hh-mm")
private Date time;
@DataField(pos = 4)
private String title;
@DataField(pos = 5)
private int status;
}
我使用unmarshall(bindy)方法。我得到的例外是:
java.lang.IllegalArgumentException: Parsing error detected for field defined at the position: 3, line: 1
at org.apache.camel.dataformat.bindy.BindyCsvFactory.bind(BindyCsvFactory.java:207)
我认为问题是第一个“id”值没有引号而其余列都有。我该如何解决?
答案 0 :(得分:3)
你对pos 3的模式是错误的。请尝试以下代码
@DataField(pos = 3, pattern = "hh:mm")