jftp通過sftp協議上傳檔案

qking93415981發表於2020-04-06

jftp是一個支援多協議的網路傳輸工具,包括ftp,sftp等

package upload.multi;

import java.io.InputStream;

import net.sf.jftp.net.SftpConnection;

import com.sshtools.j2ssh.configuration.SshConnectionProperties;

public class SFtpUpload {
//    private String host;
//    private String user;
//    private String psw;
//    private String toDir;

    
private SftpConnection con = null;
    
private SshConnectionProperties pro = new SshConnectionProperties();

    
public SFtpUpload(String host,String user,String psw,String toDir) throws Exception{
//        this.host = host;
//        this.user = user;
//        this.psw = psw;
//        this.toDir = toDir;

        
this.pro.setHost(host);
        
this.pro.setPort(22);
        con 
= new SftpConnection(this.pro);
        
if(con.login(user, psw)){
            con.chdir(toDir);
        }
else{
            
throw new Exception ("login fail!");
        }
        
    }
    
    
/**
     * 上傳檔案
     * 
@param localDir 本地路徑
     * 
@param fileName 檔名
     
*/
    
public void upload(String localDir,String fileName){
        
this.con.setLocalPath(localDir);
        
this.con.upload(fileName);
    }
    
    
/**
     * 通過流上傳
     * 
@param file
     * 
@param i
     
*/
    
public void upload(String file,InputStream i){
        
this.con.upload(file, i);
    }
    
/**
     * 斷開連線
     *
     
*/
    
public void disConnect(){
        
this.con.disconnect();
    }
    
    
public String [] sortLs(){
        
return this.con.sortLs();
    }
}
 

相關文章