gpt4 book ai didi

JAVA SFTP : While overwritting file though JCH. 获取错误 "Bad Message"

转载 作者:行者123 更新时间:2023-12-02 10:01:18 26 4
gpt4 key购买 nike

我正在尝试将文件从 SFTP 中的一个目录复制到另一个目录。在目标目录中已经存在同名文件,我正在尝试覆盖它。但是当我执行代码时我收到错误消息。下面是java代码

public static void main(String a[]) {
try {
JSch jsch = new JSch();
Session session = jsch.getSession("root", "localhost", 22);
session.setPassword("root");
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
Channel channel = session.openChannel("sftp");
channel.connect();
ChannelSftp channelSftp = (ChannelSftp) channel;
channelSftp.cd("/orderstatus");
Vector<ChannelSftp.LsEntry> list = channelSftp.ls("*.txt");
for(ChannelSftp.LsEntry entry : list) {
System.out.println(entry.getFilename());
}
channelSftp.rename("test.txt", "/orderstatus/test1/test.txt");

channelSftp.exit();
session.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
}

我收到错误

5: Bad message
at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
at com.jcraft.jsch.ChannelSftp.rename(ChannelSftp.java:1950)
at com.rue21.inventory.support.EncryptDecrypt.main(EncryptDecrypt.java:103)

我希望目标文件被源文件覆盖

最佳答案

  1. ChannelSftp.rename 移动/重命名文件。它不会复制它。

  2. 您无法重命名/移动文件覆盖已存在的文件。重命名之前必须先删除目标文件。

关于JAVA SFTP : While overwritting file though JCH. 获取错误 "Bad Message",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55613364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com