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

我不想要這個sftpChannel.get(「remotefile.txt」,「localfile.txt」);使用jsch庫複製sftp文件

我只是想創建兩個方法 1)從遠程位置的文件複製到本地系統 2)刪除複製的文件中的SFTP連接

任何人都可以幫助..

回答

15

待辦事項遠程文件的副本,然後刪除它

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

當我做`c.get(fsrc,fdest)`我看到遠程文件正在被刪除...有什麼可能是錯誤的? – Divs 2017-04-19 09:07:19