我有一个csv文件:
40111683,,NULL,831,242,2015-11-18,2018-09-30,0.250,0.050,0.00000,0.00000,100.00000
40111683,,NULL,831,242,2015-11-18,2018-09-30,0.250,0.050,0.00000,0.00000,100.00000
40111683,,NULL,831,242,2015-11-18,2018-09-30,0.250,0.050,0.00000,0.00000,100.00000
40111683,,NULL,831,242,2015-11-18,2018-09-30,0.250,0.050,0.00000,0.00000,100.00000
以及以下Camel路线:
<camelContext xmlns="http://camel.apache.org/schema/spring" id="deContext" autoStartup="true">
<route>
<from uri="file:src/data" />
<to uri="bean:getfile?method=process" />
</route>
</camelContext>
Java Bean:
@Service
public class Getfile{
public void process(List<String> strings){
System.out.println(strings);
}
}
这是我的错误:
没有类型转换器可以从类型:org.apache.camel.component.file.GenericFile转换为所需类型:java.util.List,其值为GenericFile [Data-Final.csv]]
如何将文件编组到Camel中的字符串列表中?
答案 0 :(得分:0)
答案 1 :(得分:0)
正如错误消息告诉您:&#34; 没有可用的类型转换器&#34;。
所以你需要编写自己的类型转换器来转换GenericFile - &gt;列表与LT;字符串&GT;
例如:
@Component
@Converter
public class MyConverter implements TypeConverters{
@Converter
public List<String> GenericFiletoListString(GenericFile<File> file) throws IOException {
return Files.readAllLines(file.getFile().toPath(), StandardCharsets.UTF_8);
}
}