我正在使用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客户端下载文件,以检查是否具有相同的行为。