java sftp 读取文件_Java代码获取SFTP服务器文件

本文介绍了如何使用Java通过SFTP协议连接并操作远程文件。主要内容包括导入Jsch库,创建SFTPUtil工具类,提供基于密码和秘钥的认证方式,实现连接、上传、下载、删除文件以及获取文件内容的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

与下游联调时遇到的问题, 一般我们会使用ftp来传递文件, 因为sftp的传输效率很低. 所以为了兼容,引用了网上的方法.

步骤

导入所需Jar包

编写工具类

代码中运用

1. 导入 Jsch-0.1.54.jar

直接去maven库中下载即可

2. 编写工具类--SFTPUtil.java

1 /**

2 * @author shansm

3 * @date 2020/3/18 -17:27

4 */

5 public class SFTPUtil {

6

7 private transient Logger log = LoggerFactory.getLogger(this.getClass());

8

9 private ChannelSftp sftp;

10

11 private Session session;

12 /** SFTP 登录用户名*/

13 private String username;

14 /** SFTP 登录密码*/

15 private String password;

16 /** 私钥 */

17 private String privateKey;

18 /** SFTP 服务器地址IP地址*/

19 private String host;

20 /** SFTP 端口*/

21 private int port;

22

23

24 /**

25 * 构造基于密码认证的sftp对象

26 */

27 public SFTPUtil(String username, String password, String host, int port) {

28 this.username = username;

29 this.password = password;

30 this.host = host;

31 this.port = port;

32 }

33

34 /**

35 * 构造基于秘钥认证的sftp对象

36 */

37 public SFTPUtil(String username, String host, int port, String privateKey) {

38 this.username = username;

39 this.host = host;

40 this.port = port;

41 this.privateKey = privateKey;

42 }

43

44 public SFTPUtil(){}

45

46 /**

47 * 初始化ftp参数

48 * @param resultFileURL

49 */

50 public SFTPUtil(String resultFileURL , String keys) throws Exception {

51 Map map = URLUtil.parseSftp(resultFileURL);

52 init(map.get("ipAddress"),map.get("ipPort"),map.get("userName"),map.get("passWord"),keys);

53 log.info("ip: " map.get("ipAddress"));

54 log.info("port: " map.get("ipPort"));

55 log.info("userName: " map.get("userName"));

56 log.info("PassWord: " map.get("passWord"));

57 }

58

59 /**初始化参数**/

60 pr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值