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