2016-06-28 87 views
0

我有下面的代码:如何检查Apache Camel中是否存在文件?

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(); 
    } 
} 

我有一个创建一个目录,并用当前日期与骆驼 MakeNotaBeneFile.java

我的问题是,我怎么能确认我的文件所在的文件中的代码? 由于当前的代码覆盖旧文件,我丢失了笔记。

回答

2

请参阅camel file2 documentation中“生产者”选项下的骆驼文件组件的fileExist选项。

我相信像&fileExist=Append(或Fail)可能会帮助你。

另外看看,如果骆驼设法重新命名覆盖的文件(文档说骆驼2.11.1和以上有这种行为)。

另外,如果你想在你的骆驼路线建立一个逻辑if,你总是可以建立一个bean含有一些像这样的代码:return new File(filename).exists();

+1

它与&fileExist =忽略,谢谢! –