2016-06-21 53 views
2

我嘗試使用Camel bindy處理我的csv文件。該文件的行是這樣的:如何解析csv文件與駱駝bindy,當一些列有引號和一些沒有?

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; 
} 

我用和解組(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」值是不帶引號,其餘的列有。我該如何解決它?

回答

2

你的pos 3模式是錯誤的。嘗試下面的代碼

@DataField(pos = 3, pattern = "hh:mm") 
+0

噢是的。非常感謝你! –