Jsch переименование файла не удается - PullRequest
2 голосов
/ 05 марта 2012

Я загружаю большой файл по SFTP через Jsch. Во время процесса загрузки старый файл должен быть доступен, поэтому я загружаю его во временный файл и переименовываю его в новый файл.

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 ]

5 голосов
/ 05 марта 2012

Целевой файл уже существует. Попробуйте удалить существующий файл перед переименованием.

0 голосов
/ 07 декабря 2016

Я попытался переименовать, и он работал нормально для меня. был другой файл с таким же, и я попытался переименовать новый файл в существующий. и это сработало.

, поэтому нет необходимости проверять, существует ли файл или нет, если вы хотите перезаписать.

...