我正在尝试开发一个程序,从SFTP服务器检索一组文件到另一个本地目录。
我使用JSch库。
使用get
方法下载文件。
ChannelSftp connection = connect(host, port, user, password);
connection.get(fileName, localFolder, null, mode);
业务需求是,如果文件没有完全下载,他们就不能从本地目录检索。
如何在本地目录中重新命名正在下载的文件,直到下载未完成?
下载完成后,我们用他的真实文件名(服务器SFTP的文件名)重命名文件
在.get
的dst
参数中使用完整的文件路径,包括(临时)文件名,而不仅仅是目录路径。
connection.get(fileName, localFolder + "/tempname", null, mode);
在.get
完成后重新命名文件,使用File.renameTo()