13
我想上傳兩個文件到使用JSch的SFTP服務器。如果目錄是空的,它可以很好地上傳文件,但我想一遍又一遍地上傳相同的文件(只需更改內部的ID),但我無法弄清楚如何執行此操作。 JSch中有一些名爲OVERWRITE的靜態參數,但我無法找到如何使用它。Java使用JSch上傳SFTP,但如何覆蓋當前文件?
任何關心向我展示如何添加此設置?
這是我當前的代碼:
public void upload() {
try {
JSch jsch = new JSch();
session = jsch.getSession(SFTPUSER, SFTPHOST, SFTPPORT);
session.setPassword(SFTPPASS);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp) channel;
channelSftp.cd(SFTPWORKINGDIR);
File f1 = new File("ext_files/" + FILETOTRANSFER1);
channelSftp.put(new FileInputStream(f1), f1.getName());
File f2 = new File("ext_files/" + FILETOTRANSFER2);
channelSftp.put(new FileInputStream(f2), f2.getName());
channelSftp.exit();
session.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
}