Jsch重命名文件失败

时间:2012-03-05 11:44:14

标签: java sftp jsch

我正在通过Jsch上传SFTP的大文件。在上传过程中,旧文件应该可用,因此我上传到临时文件并将其重命名为新文件。

final String tmpName = dest + "_tmp";
channel.put(source, tmpName);
channel.rename(tmpName, dest);

上传没问题,但重命名失败:

ERROR: Failed to upload files
4: Failure
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2491)
at com.jcraft.jsch.ChannelSftp.rename(ChannelSftp.java:1665)
    ...

我无法弄清楚问题出在哪里。请帮忙

2 个答案:

答案 0 :(得分:5)

目标文件已存在。尝试在重命名之前删除现有文件。

答案 1 :(得分:0)

我尝试过重命名,它对我来说很好。还有另一个文件与我相同,我试图将新文件重命名为现有文件。它起作用了。

因此,如果要覆盖,则无需检查文件是否存在。