使用RemoteFileTemplate
Spring 集成 3.0 版本提供了一个新的 `SftpSession` 对象抽象。该模板提供发送、检索(作为 `InputStream`)、删除和重命名文件的方法。此外,我们还提供了一个 `execute` 方法,允许调用者在会话上运行多个操作。在所有情况下,模板都会可靠地关闭会话。更多信息,请参见 `RemoteFileTemplate` 的Javadoc SFTP 有一个子类:`SftpRemoteFileTemplate`。
我们在 4.1 版本中添加了其他方法,包括 `getClientInstance()`。它提供对底层 `ChannelSftp` 的访问,从而可以访问低级 API。
5.0 版本引入了 `RemoteFileOperations.invoke(OperationsCallback<F, T> action)` 方法。此方法允许在同一线程绑定的 `Session` 范围内调用多个 `RemoteFileOperations` 调用。当您需要将多个 `RemoteFileTemplate` 的高级操作作为一项工作单元执行时,这很有用。例如,`AbstractRemoteFileOutboundGateway` 使用它与 `mput` 命令实现一起使用,我们对提供的目录中的每个文件及其子目录递归地执行 `put` 操作。更多信息,请参见 Javadoc。