Java:使用sftp从远程位置下载文件

时间:2012-08-24 11:27:13

标签: java ftp download sftp apache-camel

我必须在点击超链接时使用SFTP下载远程位置的文件。我使用JBOSS 5.1作为我的服务器并使用struts2。我已经实现了下面的代码,我发现ConsumerTemplate的receiveBody()将变为null? 可以请任何人指导我上述问题吗?

代码:

CamelContext ctx = new DefaultCamelContext();
                ConsumerTemplate consumer = ctx.createConsumerTemplate();
                String camel_ftp_uri = MessageFormat.format(CAMEL_FTP_PATTERN, ftp_mode, ftp_user, ftp_address, ftp_dir, ftp_options);
                System.out.println("camel_ftp_uri ::: "+camel_ftp_uri);

                Object obj= consumer.receiveBody(camel_ftp_uri);
                System.out.println("obj  ::"+obj);

什么时候打印camel_ftp_uri am:camel_ftp_uri :::

ftp://ccc_uat1@1x.xxx.xx.xxx//from_ccc/file.txt?disconnect=true

我在SOF中提到了以下链接:

How to retrieve a file from a server via SFTP?

先谢谢

1 个答案:

答案 0 :(得分:1)

Camel FTP组件您必须使用起始目录配置ftp uri,然后提供要作为单独参数下载的文件名。你做错了是起始目录是文件名。

ftp://ccc_uat1@1x.xxx.xx.xxx//from_ccc/file.txt?disconnect=true

应改为

ftp://ccc_uat1@1x.xxx.xx.xxx//from_ccc/?disconnect=true&fileName=file.txt