4

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」値に引用符がなく、残りの列にあることだと思います。どうすれば解決できますか?

4

1 に答える 1

4

pos 3 のパターンが間違っています。以下のコードを試してください

 @DataField(pos = 3, pattern = "hh:mm")
于 2016-06-21T14:59:03.810 に答える