sftp传输
来源:互联网 发布:淘宝货退回去了不退钱 编辑:程序博客网 时间:2024/05/21 13:22
sftp工具类
package com.eastcom.jksupport.task.utils;
import java.util.Map;
import java.util.Properties;
import org.apache.log4j.Logger;
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;
public class SftpUtil {
static Session session = null;
static Channel channel = null;
final static Logger logger = Logger.getLogger(SftpUtil.class.getName());
public static ChannelSftp getChannelSftp(Map<String, String> sftpDetails,
int timeout) throws JSchException {
String ftpHost = sftpDetails.get("host");
String port = sftpDetails.get("port");
String ftpUserName = sftpDetails.get("userName");
String ftpPassword = sftpDetails.get("passWord");
int ftpPort = 22;//端口默认是22
if (port != null && !port.equals("")) {
ftpPort = Integer.valueOf(port);
}
JSch jsch = new JSch(); // 创建JSch对象
session = jsch.getSession(ftpUserName, ftpHost, ftpPort); // 根据用户名,主机ip,端口获取一个Session对象
if (ftpPassword != null) {
session.setPassword(ftpPassword); // 设置密码
}
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config); // 为Session对象设置properties
session.setTimeout(timeout); // 设置timeout时间
session.connect(); // 通过Session建立链接
channel = session.openChannel("sftp"); // 打开SFTP通道
channel.connect(); // 建立SFTP通道的连接
logger.info("Connected successfully to ftpHost = " + ftpHost
+ ",as ftpUserName = " + ftpUserName + ", returning: "
+ channel);
return (ChannelSftp) channel;
}
public static void closeChannel() throws Exception {
if (channel != null) {
channel.disconnect();
}
if (session != null) {
session.disconnect();
}
}
}
-----------------使用Demo
/**
* @param args
* @throws Exception
*/
public void sftpComplaintAndMalfunctionOrderData (String path, String fileName) throws Exception{
Map<String, String> sftpDetails = new HashMap<String, String>();
//设置主机ip,端口,用户名,密码
sftpDetails.put("host", ftpIp);
sftpDetails.put("port", String.valueOf(ftpPort));
sftpDetails.put("userName", ftpUser);
sftpDetails.put("passWord", ftpPwd);
File file = new File(path + fileName);//本地文件
String dst = ftpDir+fileName; // 目标文件名
ChannelSftp chSftp = SftpUtil.getChannelSftp(sftpDetails, 60000);
chSftp.put(new FileInputStream(file), dst, ChannelSftp.OVERWRITE);
chSftp.quit();
SftpUtil.closeChannel();
}
* @param args
* @throws Exception
*/
public void sftpComplaintAndMalfunctionOrderData (String path, String fileName) throws Exception{
Map<String, String> sftpDetails = new HashMap<String, String>();
//设置主机ip,端口,用户名,密码
sftpDetails.put("host", ftpIp);
sftpDetails.put("port", String.valueOf(ftpPort));
sftpDetails.put("userName", ftpUser);
sftpDetails.put("passWord", ftpPwd);
File file = new File(path + fileName);//本地文件
String dst = ftpDir+fileName; // 目标文件名
ChannelSftp chSftp = SftpUtil.getChannelSftp(sftpDetails, 60000);
chSftp.put(new FileInputStream(file), dst, ChannelSftp.OVERWRITE);
chSftp.quit();
SftpUtil.closeChannel();
}
阅读全文
0 0
- sftp传输
- aix sftp传输文件
- linux传输文件sftp
- 【linux】sftp传输文件
- 使用SFTP传输文件
- sftp传输用工具类
- 传输工具sftp使用详解
- linux服务器间传输-sftp
- Xshell 利用sftp传输文件
- 使用VFS进行SFTP网络传输.
- 使用VFS进行SFTP网络传输----转载
- SFTP安全传输 客户端 + 服务器 搭建
- windows下巧用SFTP打造安全传输~
- SFTP安全传输 客户端 + 服务器 搭建
- java实现SFTP传输文件例子
- OpenWrt开启sftp,方便传输文件
- 阿里云 使用SFTP方式传输文件
- xshell下利用SFTP传输文件
- SQL Server 对Scehma的操作
- 日期比较
- 仿百度文库,豆丁网、道客巴巴类型文档上传下载在线预览源码程序
- Laravel 学习路线【4】控制器
- Python字符串
- sftp传输
- Hbuilder如何连远程接服务器上传代码
- Java 编程思想(十)枚举
- spring AOP介绍与使用
- Python使用struct处理二进制(pack和unpack用法)
- 【模板】【Treap/SBT】【树堆】普通平衡树【洛谷P3369】
- 程序员之死
- Maven添加中央仓库外部依赖、添加jar包到本地仓库
- js的垃圾回收机制