JAVA代码时间SFTP文件的下载
参考文章:http://blog.csdn.net/smallerpig/article/details/50976191
SFTP文件的下载与FTP文件的下载差别较大,需要下载jsch-0.1.54jar包
package com.cd.util;
import com.jcraft.jsch.JSchException;
public class SftpDownloadTestScript {
public static void main (String[] args)throws JSchException {
String ftpHost = "192.168.188.155";
String ftpUserName = "exftp";
String ftpPassword = "sFtP06222013";
int ftpPort = 22;
String ftpPath = ".";
String localPath = "D:/SFTP/uploadFiles/demo";
String fileName = "aa.jpg";
FtpUtil.downloadSftpFile(ftpHost, ftpUserName, ftpPassword, ftpPort, ftpPath, localPath, fileName);
}
}
package com.cd.util; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.SocketException;
import java.util.Properties; import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; 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 FtpUtil { private final static Log logger = LogFactory.getLog(FtpUtil.class); /*
* 从SFTP服务器下载文件
*
* @param ftpHost SFTP IP地址
*
* @param ftpUserName SFTP 用户名
*
* @param ftpPassword SFTP用户名密码
*
* @param ftpPort SFTP端口
*
* @param ftpPath SFTP服务器中文件所在路径 格式: ftptest/aa
*
* @param localPath 下载到本地的位置 格式:H:/download
*
* @param fileName 文件名称
*/
public static void downloadSftpFile(String ftpHost, String ftpUserName,
String ftpPassword, int ftpPort, String ftpPath, String localPath,
String fileName) throws JSchException {
Session session = null;
Channel channel = null; JSch jsch = new JSch();
System.out.println(1);
session = jsch.getSession(ftpUserName, ftpHost, ftpPort);
System.out.println(2);
session.setPassword(ftpPassword);
System.out.println(3);
session.setTimeout(100000);
System.out.println(4);
Properties config = new Properties();
System.out.println(5);
config.put("StrictHostKeyChecking", "no");
System.out.println(6);
session.setConfig(config);
System.out.println(7);
session.connect();
System.out.println(8); channel = session.openChannel("sftp");
System.out.println(9);
channel.connect();
ChannelSftp chSftp = (ChannelSftp) channel;
System.out.println(10); String ftpFilePath = ftpPath + "/" + fileName;
String localFilePath = localPath + File.separatorChar + fileName;
System.out.println(11);
try {
System.out.println("ftpFilePath="+ftpFilePath);
System.out.println("localFilePath="+localFilePath);
System.out.println("localPath="+localPath);
chSftp.get(ftpFilePath, localPath);
System.out.println(13);
} catch (Exception e) {
e.printStackTrace();
logger.info("download error.");
} finally {
chSftp.quit();
channel.disconnect();
session.disconnect();
} } }
下面是SFTP根目录:

JAVA代码时间SFTP文件的下载的更多相关文章
- Android中用Java代码实现zip文件解压缩
如果需要下载的文件有很多是中文名的,解压时有中文名的文件出现乱码,试了很多方法不能解决问题.据说有一个Java插件包,用这个插件包可以解决中文名乱码的问题,但不知解压的文件是否要用它提供的类压缩后的文 ...
- Java ftp 上传文件和下载文件
今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接: ...
- servlet设置缓存时间以及文件的下载
缓存时间的设置: public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletE ...
- Java 代码完成删除文件、文件夹操作
import java.io.File;/** * 删除文件和目录 * */public class DeleteFileUtil { /** * 删除文件,可以是文件或文件夹 ...
- java代码将excel文件中的内容列表转换成JS文件输出
思路分析 我们想要把excel文件中的内容转为其他形式的文件输出,肯定需要分两步走: 1.把excel文件中的内容读出来: 2.将内容写到新的文件中. 举例 一张excel表中有一个表格: 我们需要将 ...
- 使用PHP自带zlib函数 几行代码实现PHP文件打包下载zip
<?php //获取文件列表 function list_dir($dir){ $result = array(); if (is_dir($dir)){ $file_dir = scandir ...
- JAVA中实现根据文件路径下载文件
import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; ...
- 用java代码遍历excel文件并回显
今天需要完成282个指标,分析后发现好多都是可复用的字段和方法,生成的dao类也是很多重复的代码,所以写下了简单的自动化遍历excel的test方法, excel业务逻辑如下,用了 HSSFSheet ...
- Java代码操作properties文件(读取,新增/修改,删除)
项目中需要用到操作properties文件中的数据,记录一下 package com.bonc.savepic.save; import java.io.FileNotFoundException; ...
随机推荐
- Spring AOP+Log4j记录项目日志
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6567672.html 项目日志记录是项目开发.运营必不可少的内容,有了它可以对系统有整体的把控,出现任何问题 ...
- [Java] 各种流的分类及区别
https://www.cnblogs.com/lca1826/p/6427177.html 流在Java中是指计算中流动的缓冲区. 从外部设备流向中央处理器的数据流成为“输入流”,反之成为“输出流” ...
- c++ count函数
count函数 algorithm头文件(#include <algorithm>)定义了一个count的函数,其功能类似于find.这个函数使用一对迭代器和一个值做参数,返回这个值出现次 ...
- puppeteer 爬虫 pdf 截图 自动化
puppeteer简介 puppeteer 翻译是操纵木偶的人,利用这个工具,我们能做一个操纵页面的人.puppeteer是一个nodejs的库,支持调用Chrome的API来操纵Web,相比较Sel ...
- centos 安装 TortoiseSVN svn 客户端
1 安装 svn客户端 yum install -y subversion 2 常用命令操作 检出命令 svn checkout http://svn.com/path
- day19-python的正则表达式2
正则对象的findall方法 findall(string[, pos[, endpos]]) 搜索string,以列表形式返回全部能匹配的子串. import re p1 = re.compile ...
- mysql插入中文乱码
https://www.cnblogs.com/zhchoutai/p/7364835.html 最简单的一招,不用修改my.ini文件: 1.停掉mysql服务 2.启动:X:\%path%\MyS ...
- 非递归实现二叉树的三种遍历操作,C++描述
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- ES6-循环
forEach 方法来遍历数组,不能使用break语句中断循环,也不能使用return语句返回到外层函数 myArray.forEach(function (value) { console.log( ...
- 戴尔poweredge r730服务器配置以及系统安装
第一次给服务器安装的是ubantu系统: 首先我们开机进入小型BIOS设置一下RAID,或者进入服务器管理系统,在系统的BIOS中进行RAID设置: 开机后当看到出现< Ctrl > &l ...