import com.jcraft.jsch.*;import java.io.*;importjava.util.Properties;/*** @Author : guoyanan
* @Title : Sftp工具类
* @Time : 2019/04/18 14:52
* @Document : 提供文件上传功能*/
public classSFtpUtils {//初始化单例对象
private static SFtpUtils sFtpUtils = newSFtpUtils();private String host;//服务器连接ip
private String username;//用户名
private String password;//密码
private int port = 22;//端口号
private ChannelSftp sftp = null;private Session sshSession = null;/*** 初始化sftp的单例对象
*@return
*/
public staticSFtpUtils getInstance()
{returnsFtpUtils;
}/*** 初始化sft链接信息,必须先做这个
*@paramhost 远程主机ip
*@paramport 端口号
*@paramusername 账号
*@parampassword 密码*/
public void init(String host, intport, String username, String password)
{this.host =host;this.username =username;this.password =password;this.port =port;
}/*** 通过SFTP连接服务器*/
public voidconnect()
{try{
JSch jsch= newJSch();
jsch.getSession(username, host, port);
sshSession=jsch.getSession(username, host, port);
sshSession.setPassword(password);
Properties sshConfig= newProperties();
sshConfig.put("StrictHostKeyChecking", "no");
sshSession.setConfig(sshConfig);
sshSession.connect();
Channel channel= sshSession.openChannel("sftp");
channel.connect();
sftp=(ChannelSftp) channel;
}catch(Exception e)
{
e.printStackTrace();
}
}/*** 关闭连接*/
public voiddisconnect()
{if (this.sftp != null)