使用Java中的SFTP,如何将文件从一个文件夹传输到另一个文件夹?

使用Java中的SFTP,如何将文件从一个文件夹传输到另一个文件夹?,java,sftp,jsch,Java,Sftp,Jsch,我有一个包含两个文件夹的简单目录- 在SFTP_1文件夹中,我有一个位图图像。SFTP_2文件夹只是一个空文件夹 Java是否有本机SFTP库可供使用?当我搜索时,我只在网上找到了一个图书馆,叫做 如何开始运行此示例? 任何提示,谢谢, 谢谢 SFTP支持重命名文件和CopyRemoteFile操作,但仅从SFTP协议版本5或6开始(如果内存可用)。我们的产品SecureBackbox Java edition支持这些操作,但是有必要确保您的服务器支持所需的SFTP版本,从而支持您需要的文件操作

我有一个包含两个文件夹的简单目录-

在SFTP_1文件夹中,我有一个位图图像。SFTP_2文件夹只是一个空文件夹

Java是否有本机SFTP库可供使用?当我搜索时,我只在网上找到了一个图书馆,叫做

如何开始运行此示例? 任何提示,谢谢,
谢谢

SFTP支持重命名文件和CopyRemoteFile操作,但仅从SFTP协议版本5或6开始(如果内存可用)。我们的产品SecureBackbox Java edition支持这些操作,但是有必要确保您的服务器支持所需的SFTP版本,从而支持您需要的文件操作

Java中没有本机SFTP支持

您发现,JSch库可能是Java中使用最广泛的SFTP实现

如果要使用JSch将文件从SFTP_1移动到SFTP_2,请使用:

如果你想复制这个文件,它会更复杂。虽然存在,但只有少数SFTP服务器支持它。JSch库也不支持它

因此,最后,您唯一的选择可能是将文件下载到本地临时文件夹并将其上载回新位置,或者使用streams,以避免临时文件。或者使用shell会话调用cp之类的命令


@Weareberg-注意点。我在这里转载-
channelSftp.rename("/SFTP_1/file.txt", "/SFTP_2/file.txt");