Apache Camel: Как мне сделать простое изменение файлов в одном каталоге, а затем сохранить результаты в другом каталоге? - PullRequest
0 голосов
/ 08 октября 2011

Кажется простым, но я не могу заставить его работать.То, что я хочу сделать, - это взять любые файлы, которые помещены в путь «от», изменить их содержимое и поместить измененный файл в путь «к» (с расширением .txt).Вот что у меня есть:

this.context.addRoutes(new RouteBuilder() {
    public void configure() {
        from( "file:" + getFromPath() + getOptions() )
        .to( "file:" + getToPath() + "?fileName=${file:name.noext}.txt")
        .process(new Processor() {
            public void process(Exchange exchange) throws Exception {
                String name = (String) exchange.getIn().getHeader("CamelFileName");
                File body = exchange.getIn().getBody(File.class);
                String parsedText = modifyFile(body);
                exchange.getOut().setBody(parsedText);
            }
         })
     ;}
  });

Выходной файл создается, но его содержимое точно совпадает с входным файлом.Т.е. файл не модифицируется.Я подтвердил, что метод "modifyFile" возвращает то, что мне нужно, но не может заставить его записать это содержимое в выходной ("to") путь.

Спасибо за помощь!

1 Ответ

6 голосов
/ 09 октября 2011

Если вы хотите изменить содержимое файла, вам нужно поместить процессор между конечными точками «от» и «до».

...