Копирование файла в sftp с библиотекой jsch - PullRequest
10 голосов
/ 28 января 2011
import com.jcraft.jsch.*;

public class App {
public static void main(String args[]) {
    JSch jsch = new JSch();
    Session session = null;
    try {
        session = jsch.getSession("Username", "Host", PORT NO);
        session.setConfig("StrictHostKeyChecking", "no");
        session.setPassword("Password");
        session.connect();

        Channel channel = session.openChannel("sftp");
        channel.connect();
        ChannelSftp sftpChannel = (ChannelSftp) channel;

        sftpChannel.get("remotefile.txt", "localfile.txt");
        sftpChannel.exit();
        session.disconnect();
    } catch (JSchException e) {
        e.printStackTrace(); 
    } catch (SftpException e) {
        e.printStackTrace();
    }
}

Я не хочу, чтобы этот sftpChannel.get ("remotefile.txt", "localfile.txt");

Я просто хочу создать два метода: 1) скопировать файл из удаленного расположения влокальная система 2) удалить скопированный файл в sftp-соединении

Может кто-нибудь помочь ..

1 Ответ

16 голосов
/ 18 октября 2011

Сделайте копию удаленного файла и затем удалите его

ChannelSftp.get("remotefile.txt", "localfile.txt");
ChannelSftp.rm("remotefile.txt")
...