JAVA代码时间SFTP文件的下载

摘要:
参考文章:http://blog.csdn.net/smallerpig/article/details/50976191SFTP文件的下载与FTP文件的下载截然不同。您需要下载jsch-0.1.54jar包packagecom.cd.util;importcom.jcraft.jsch.JSchException;publicclassSftpDownloadTestScript{publicst

参考文章: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文件的下载第1张

免责声明:文章转载自《JAVA代码时间SFTP文件的下载》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DSOFramer原有的接口说明Python PIL ImageDraw 和ImageFont模块学习下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle审计

1、什么是审计审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查看)中。默认情况下审计是没有开启的。不管你是否打开数据库的...

PHP 执行系统外部命令 system() exec() passthru()

PHP中调用外部命令,可以用如下三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec() 1)exec() 原型: string exec( string $command[, array&$output[,...

利用JDBC连接Oracle数据库(转)

http://blog.csdn.net/wahaha1_/article/details/8512438 JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。 一、JDBC基础知识 JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问...

Linux下防御DDOS攻击的操作梳理

DDOS的全称是Distributed Denial of Service,即"分布式拒绝服务攻击",是指击者利用大量“肉鸡”对攻击目标发动大量的正常或非正常请求、耗尽目标主机资源或网络资源,从而使被攻击的主机不能为合法用户提供服务。 DDOS攻击的本质是:利用木桶原理,寻找利用系统应用的瓶颈;阻塞和耗尽;当前问题:用户的带宽小于攻击的规模,噪声访问带宽成...

RabbitMQ安装与配置

ERLang环境配置 1.首先安装一个ERLang的支持库:以下两个选择执行一个就行 ●apt-get -y install libncurses5-dev ●apt-get -y install make g++ gcc libpcre3 libpcrecpp* libpcre3-dev libssl-dev autoconf automake libt...

Hibernate的查询语言之HQL(一)——快速入门

  Hibernate提供异常强大的查询体系,使用Hibernat有多种查询方式可以选择:即可以使用Hibernate的HQL查询,也可以使用条件查询,甚至可以使用原生的SQL查询语句。不仅如此, Hibernate还提供了一种数据过滤功能,这些都用于筛选目标数据。   Hibernate是 Hibernate Query Language的缩写,HQL的...