我有下一个代码:
package camelinaction;
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.impl.DefaultCamelContext;
public class MakeNotaBeneFile {
public static void main(String args[]) throws Exception {
// create CamelContext
CamelContext context = new DefaultCamelContext();
// add our route to the CamelContext
context.addRoutes(new RouteBuilder() {
public void configure() {
from("quartz://report?cron=0/2+*+*+*+*+?")
.setBody().simple("\n")
.to("file:/c:/Users/Mishin/Documents/work_line/?fileName=${date:now:ddMMyyyy}/${date:now:ddMMyyyy}_nb.txt");
}
});
// start the route and let it do its work
context.start();
Thread.sleep(1000);
// stop the CamelContext
context.stop();
}
}
我有一个代码,用Camel创建一个目录和一个当前日期的文件 MakeNotaBeneFile.java
我的问题是如何检查我的文件是否存在? 因为当前代码会覆盖旧文件而我丢失了笔记。
答案 0 :(得分:2)
请参阅camel file2 documentation中“生产者”选项下的驼峰文件组件的fileExist
选项。
我相信&fileExist=Append
(或Fail
)之类的内容可能会对您有所帮助。
另外看看camel是否设法重命名被覆盖的文件(文档说camel 2.11.1及以上就有这种行为)。
或者,如果您想在骆驼路线中构建逻辑if
,您可以随时构建一个包含以下代码的bean:return new File(filename).exists();