如何在骆驼处理后重命名和移动FTP上的文件?

时间:2013-11-11 11:41:13

标签: ftp apache-camel

我的ftp上有几个文件夹:

/csv
/xml
/processed
/....

如果将每个文件从file.csv处理到file.done并将其移动到已处理文件夹,我如何重命名和移动它们? 我已经尝试了很多选项,例如在"中添加大量参数。或者在onCompletion中添加一些东西或者为移动文件添加更多的路由。 所有占位符都包含正确的值,并由Spring处理。

<route>
            <from uri="ftp://{{ftp.user}}@{{ftp.server}}/{{inbound.csv}}?password={{ftp.pass}}&amp;binary=true&amp;include=.*csv"/>
            <onCompletion onCompleteOnly="true">
                <to uri="ftp://{{ftp.user}}@{{ftp.server}}/{{outbound.csv}}?password={{ftp.pass}}&amp;doneFileName=${file:name}.done"/>
            </onCompletion>
            <delay>
                <constant>15000</constant>
            </delay>
            <unmarshal><csv/></unmarshal>
            <to uri="bean:cSVHandler?method=process"/>
        </route>

请帮忙。

2 个答案:

答案 0 :(得分:3)

使用移动选项,该选项将在处理完文件后移动/重命名

<from uri="ftp://{{ftp.user}}@{{ftp.server}}/{{inbound.csv}}
      ?password={{ftp.pass}}&amp;binary=true&amp;include=.*csv
      &amp;move=../processed"/>

将文件移动到../processed目录。

http://camel.apache.org/file2

查看有关移动选项的更多详细信息

答案 1 :(得分:3)

如果有人找到此帖子并且只想重命名文件,则可以添加

      a      b
0   tom  145.0
1  luke  123.0
2  mark  132.0
3  mark  132.0
4  luke  123.0
5   tom  145.0
6  luke  123.0
7   tom  145.0
相关问题