我是 Spring 新手,目前正在研究 Spring 与 ftp 支持的集成。
- 我从本地目录转移到服务器(filZilla)。
- 我从服务器下载了文件,很好。
但我想知道如何将文件从 FTP 服务器传输到另一个 FTP 服务器,以及是否可以在不从服务器下载文件的情况下读取文件。
我是 Spring 新手,目前正在研究 Spring 与 ftp 支持的集成。
但我想知道如何将文件从 FTP 服务器传输到另一个 FTP 服务器,以及是否可以在不从服务器下载文件的情况下读取文件。
如果您的意思是获取一个文件并将其发送到另一台服务器而不将其写入本地文件系统,那么,不,目前使用标准组件是不可能的。
但是,您可以使用两个FtpRemoteFileTemplate
s(使用execute
方法)将数据从 an 流式传输InputStream
到 an OutputStream
。
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)
}
}
}
});