2016-09-08 3 views
0
<route id="readCSV"> 
     <from uri="file:inbox?noop=true&amp;delay=10&amp;fileName=b.csv&amp;delete=true"/> 
     <log message="${body}"/> 
     <unmarshal ref="csvDataFormat"/> 

     <process ref="listRead"/> 
     <to uri="direct:ins"/> 
    </route> 

У меня есть этот маршрут, я правильно прочитал файл, но когда я хочу преобразовать его в объект Java, список будет заполнен нулями. В чем моя проблема?Unmarshall csv в объект java

enter image description here

ответ

0

Пример: у нас есть CSV-файл с именами лиц, их IQ и их текущей деятельности.

Джек Далтон, 115, сердишься на Аверелла Джо Далтон, 105, успокаивающий Джо Уильям

Дальтон, 105, держа Джо от убийства Аверелл Аверелл Далтон, 80,

играет с Rantanplan Lucky Luke, 120, захватив Дальтон

Теперь мы можем использовать компонент CSV для распаковать этот файл:

from("file:src/test/resources/?fileName=daltons.csv&noop=true") 
    .unmarshal().csv() 
    .to("mock:daltons"); 

Полученное сообщение будет содержать список> как:

List<List<String>> data = (List<List<String>>) exchange.getIn().getBody(); 
for (List<String> line : data) { 
    LOG.debug(String.format("%s has an IQ of %s and is currently %s", line.get(0), line.get(1), line.get(2))); 
} 
+0

Он работал спасибо! – Chulos

Смежные вопросы