2016-06-28 3 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 이상에이 문제가 있음). 덕분에 return new File(filename).exists();

+1

은 무시하고 fileExist = 작동 : 당신이 당신의 낙타 경로에 논리적 if를 구축하고 싶었 또는 경우

, 당신은 항상 다음과 같은 몇 가지 코드를 포함하는 빈을 만들 수있다! –

관련 문제