java - 下载后 JSch 正在从服务器删除文件

标签 java sftp jsch

我正在使用 Jsch 从服务器复制文件。我的代码是:

private ChannelSftp setupJsch() throws JSchException {
    log.debug("private key path: " + sftpPrivateKey);
    JSch jsch = new JSch();
    jsch.setKnownHosts(sftpKnownHost);
    jsch.addIdentity(sftpPrivateKey, sftpPrivateKeyPassphrase);
    Session jschSession = jsch.getSession(sftpUser, sftpHost, sftpPort);
    java.util.Properties config = new java.util.Properties();
    config.put("StrictHostKeyChecking", "no");
    jschSession.setConfig(config);
    jschSession.connect();
    return (ChannelSftp) jschSession.openChannel("sftp");
}

然后

channelSftp = setupJsch();
channelSftp.connect();
channelSftp.cd(fileLocation);
channelSftp.get(scrOnDirectory, desOnLocalSystem);

但下载后(即channelSftp.get()),它从服务器中删除文件,这是我不想要的。我需要复制粘贴文件而不是剪切粘贴文件。

最佳答案

JSch ChannelSftp.get 不会从服务器中删除文件。

如果文件被删除,它一定是服务器的一个功能,它会删除所有下载的文件。尝试使用 GUI/命令行 SFTP 客户端下载文件,检查是否出现相同的行为。

关于java - 下载后 JSch 正在从服务器删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61927244/

相关文章:

java - JSch 在 SSH 服务器上验证用户

java - 通过单击按钮更改 JFrame 颜色

java - 在 Java 中通过递归调用添加变量无法正常工作

Linux SFTP MGET * 然后传输后删除

bash - 在 bash 中,如何重新建立 sftp 连接并在使 nautilus 执行此操作的脚本中运行它?

c# - 仁慈SSH.NET : character encoding when uploading files

java - 按位 AND 运算符 (&) 没有像我预期的那样工作

java - 将原始像素数据(作为字节数组)转换为 BufferedImage

java - 使用 JSch 从 SFTP 服务器下载文件

java - 使用 jcraft.jsch 更改目录时文件夹不存在