Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Copying a file in sftp with jsch library

Tags:

java

ssh

sftp

jsch

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();
    }
}

I dont want this sftpChannel.get("remotefile.txt", "localfile.txt");

I just want to create two methods 1)to copy the file from remote location to local system 2)to remove the copied file in an sftp connection

Can anyone help..

like image 200
Praneel PIDIKITI Avatar asked Jan 28 '11 09:01

Praneel PIDIKITI


1 Answers

Do a copy of the remote file and then delete it

ChannelSftp.get("remotefile.txt", "localfile.txt");
ChannelSftp.rm("remotefile.txt")
like image 55
David Wu Avatar answered Sep 21 '22 08:09

David Wu