2011-01-28 7 views
9
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(); 
    } 
} 

Non desidero questo sftpChannel.get ("remotefile.txt", "localfile.txt");Copia di un file in sftp con libreria jsch

voglio solo creare due metodi 1) per copiare il file da postazione remota al sistema locale 2) per rimuovere il file copiato in una connessione SFTP

chiunque può aiutare ..

risposta

15

Do una copia del file remoto e quindi cancellarlo

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

Quando faccio un 'c.get (fsrc, fdest)' Vedo che il file remoto viene cancellato ... cosa può essere sbagliato? – Divs