from("file:D:\\camel\\input?recursive=true&delete=true")
.split().tokenize("'",1)
.process(new CustomProcessor())
.to("file:D:\\camel\\output\\${header.foldername}");
感谢@Claus和@Souciance的反馈。实际上,我遇到了另一个挑战,我收到的许多文件没有'\n'或'\r'作为分隔符,因此,即使读取单个like也可能像读取整个文件一样。我使用带有分隔符的扫描器实现了解决方案,如下所示。
我的路由器定义如下
@Override
public void configure() throws Exception {
from("file:D:\\camel\\input?recursive=true&delete=true")
.process(new CustomProcessor())
.recipientList(header("foldername"));
}
处理器代码是
@Override
public void process(Exchange exchange) throws Exception {
File data = exchange.getIn().getBody(File.class);
Scanner sc = new Scanner(data,"UTF-8");
sc.useDelimiter("'");
String folderPath="";
while (sc.hasNext()){
String line = (String) sc.next();
//business logic
break;
}
sc.close();
String destDir = "file:D:\\camel\\output\\"+folderPath;
exchange.getIn().setHeader("foldername",destDir);
}
我正在使用camel-ftp从远程服务器获取文件。当文件被移动时,我需要读取第一行,这是一个头,并在路由的其余部分用它设置骆驼头。我需要为它构建一个自定义处理器吗?我想到了.split(),但它会解析文件中的每一行(这个文件很大)。
我尝试使用Apache Camel(版本2.25.3)反应流和Spring Boot来读取一个大型csv文件,并使用Bindy解封这些行。这是“工作”,因为应用程序运行并检测文件,但我只看到流中文件的第一行。它似乎与Bindy相关,因为如果我从等式中去掉解组,我就可以在流中返回csv文件的所有行。我已经简化了这个问题,在这里演示了SO。我正在使用Spring Webflux来公开结果发布者。 所以
我正在尝试向异步路由发送消息,但它不起作用。我刚刚在github上创建了一个项目来模拟这个问题
我可以使用Apache POI只读取Excel文件的第一行吗?我不想读取整个文件,因为它有50,000行,读取最多需要10分钟(性能是一场灾难)。我通过文件上传获取字节。我的选项是字节数组或InputStream。现在我正在这样做:
我正在使用apache camel cxf开发一个Web服务(肥皂),我遇到了这个错误。 Java . lang . illegalargumentexception:Part { http://blue print . camel . ngt . TN/}返回的类型应为[ltn . ngt . camel . blue print . WB _ subscriptions;,而不是org . A
问题内容: 在我当前的程序中,一种方法要求用户输入产品描述作为输入。但是,当我以后尝试打印此信息时,仅显示节目的第一个单词。这可能是什么原因?我的方法如下: 因此,如果用户输入的是“带有橙味的汽水”,则只会产生“ 汽水”。 任何帮助将不胜感激! 问题答案: 替换为: