1、maven依赖
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.8.0</version>
</dependency>
2、工具类
public class SFTPUtil {
public static void uploadFileSFTP(String host, int port, String username, String password, String dst,String filename, InputStream inputStream){
Session session = null;
Channel channel = null;
ChannelSftp channelSftp = null;
try {
JSch jsch = new JSch();
session = jsch.getSession(username, host, port);
session.setPassword(password);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp) channel;
channelSftp.put(inputStream, dst+filename, ChannelSftp.OVERWRITE);
System.out.println("File uploaded successfully");
} catch (Exception e) {
e.printStackTrace();
} finally {
channelSftp.exit();
channel.disconnect();
session.disconnect();
}
}
}
3、代码调用
SFTPUtil.uploadFileSFTP("192.168.31.111",22,"root", "root", "/home/", "aaa.jpg", inputStream);