我是Spring的新手,我目前正致力于与ftp支持的Spring集成。
但我想找到如何将文件从FTP服务器传输到另一台FTP服务器,以及是否可以在不从服务器下载文件的情况下读取文件。
答案 0 :(得分:1)
如果您的意思是获取文件并将其发送到另一台服务器而不将其写入本地文件系统,那么,不,目前无法使用标准组件。
但是,您可以使用两个FtpRemoteFileTemplate
(使用execute
方法)将数据从InputStream
流式传输到OutputStream
答案 1 :(得分:0)
FtpRemoteFileTemplate server1;
FtpRemoteFileTemplate server2
server1.get("filetotransfer", new InputStreamCallback() {
@Override
public void doWithInputStream(final InputStream stream) throws IOException {
server2.executeWithClient(new ClientCallback<FTPClient, Void>() {
@Override
public Void doWithClient(final FTPClient client) {
try (final OutputStream outStream = client.storeFileStream("filedestination");) {
IOUtils.copyLarge(stream, outputStream)
}
}
}
});