java sftp上传文件_Java通过sftp上传文件

本文介绍了如何使用Java的JSch库通过SFTP协议连接到服务器并进行文件上传操作。首先,需要引入JSch依赖。然后,创建SFTPUtil工具类,提供基于密码和密钥认证的构造方法。登录SFTP服务器后,可以进行文件上传、下载、删除等操作。在示例中,展示了上传本地文件到SFTP服务器的代码。
摘要由CSDN通过智能技术生成

Linux操作系统我们经常使用ssh中的ftp,sftp连接服务器,做相应操作。

如何通过java代码的形式采用sftp连接到服务器,进行文件上传下载等操作呢?

第一步,引入依赖包

com.jcraft

jsch

0.1.53

jsch常用密码登陆和密钥认证的形式进行sftp服务器登陆。

第二步,编写工具类,并采用main方法进行上传测试,代码如下

package com.guohuai.util;

import java.io.ByteArrayInputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.UnsupportedEncodingException;

import java.util.Properties;

import java.util.Vector;

import org.apache.commons.io.IOUtils;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import com.jcraft.jsch.Channel;

import com.jcraft.jsch.ChannelSftp;

import com.jcraft.jsch.JSch;

import com.jcraft.jsch.JSchException;

import com.jcraft.jsch.Session;

import com.jcraft.jsch.SftpException;

/**

*

* @ClassName: SFTPUtil

* @Description: sftp连接工具类

* @date 2017年5月22日 下午11:17:21

* @version 1.0.0

*/

public class SFTPUtil {

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

private ChannelSftp sftp;

private Session session;

/** FTP 登录用户名*/

private String username;

/** FTP 登录密码*/

private String password;

/** 私钥 */

private String privateKey;

/** FTP 服务器地址IP地址*/

private String host;

/** FTP 端口*/

private int port;

/**

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

* @param userName

* @param password

* @param host

* @param port

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值