两个工具类依赖的jar包:

FTPTool.java

public static void main(String[] args) throws Exception{
        FTPTooL ftpTool = new FTPTooL();
        FTPClient ftpClient  = null;
        InputStream stream = null;
        stream = StreamTool.getStreamFromString(StreamTool.streamStr);

        try{
            String host = "10.16.55.21";//ip
            int port = 21;                //port
            String username = "zssys";//user
            String password = "zssys";//password

            ftpClient = ftpTool.createFtpClient(host, port, username, password,null,null);
            ftpTool.mkdir    ("/home/zstest/dvlp/pic_test/underwrt_pic/test/", "123/456/789", ftpClient);//建目录
            ftpTool.upload    ("/home/zstest/dvlp/pic_test/underwrt_pic/test/", "D:/temp/","HousingEstateManagerment.rar", ftpClient);//上传
            ftpTool.upload    ("/home/zstest/dvlp/pic_test/underwrt_pic/test/", stream,"ddd.PNG", ftpClient);//上传
            ftpTool.download    ("/home/zstest/dvlp/pic_test/underwrt_pic/test/", "ddd.PNG", "D:/temp/haha/","download.PNG", ftpClient);//下载
            ftpTool.delete    ("/home/zstest/dvlp/pic_test/underwrt_pic/test/", "delete.txt", ftpClient);//删除
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            ftpTool.disconnect(ftpClient);
        }
    }

SFTPTool.java

public static void main(String[] args) throws Exception{
        SFTPTooL sfTool = new SFTPTooL();
        Session session = null;
        ChannelSftp channel = null;
        InputStream stream = null;
        stream = StreamTool.getStreamFromString(StreamTool.streamStr);

        try{
            String host = "10.15.22.120";//ip
            int port = 22;                //port
            String username = "weblogic";//user
            String password = "weblogic";//password
            session = sfTool.getSession(host, port, username, password);
            channel = sfTool.getConnect(session);
            sfTool.mkdir    ("/data/temp/test/", "123/888/789", channel);//建目录
            sfTool.upload    ("/data/temp/test/", "D:/temp/","HousingEstateManagerment.rar", channel);//上传
            sfTool.upload    ("/data/temp/test/", stream,"ddd.PNG", channel);//上传
            sfTool.download    ("/data/temp/test/", "download.txt", "D:/temp/haha/","download.txt", channel);//下载
            sfTool.delete    ("/data/temp/test/", "delete.txt", channel);//删除
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            sfTool.disconnect(channel,session);
        }
    }

SFTPTool 和 FTPTooL.java的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. edtftpj让Java上传FTP文件支持断点续传

    在用Java实现FTP上传文件功能时,特别是上传大文件的时候,可以需要这样的功能:程序在上传的过程中意外终止了,文件传了一大半,想从断掉了地方继续传:或者想做类似迅雷下载类似的功能,文件太大,今天传一 ...

  3. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  4. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  5. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  6. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  7. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  8. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  9. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

随机推荐

  1. mysql中sql语句执行时间

    delimiter // set @d=now(); select * from comment; select timestampdiff(second,@d,now()); delimiter ; ...

  2. WebForm页面运行机制

    阅读目录 开始 WebForm前台与后台的关系及运行原理 前台页面 <% @ Page Language="C#" AutoEventWireup="true&qu ...

  3. 对比C++中的指针和引用

    指针和引用在形式上比较好区分,由于有很多相似的功能,因此在使用上容易混淆.因此有必要对指针和引用进行对比,以便于在使用时使程序正确高效. 1.引用不可以为空,而指针可以为空. 我们知道引用是对象的别名 ...

  4. 梯度下降之随机梯度下降 -minibatch 与并行化方法

    问题的引入: 考虑一个典型的有监督机器学习问题,给定m个训练样本S={x(i),y(i)},通过经验风险最小化来得到一组权值w,则现在对于整个训练集待优化目标函数为: 其中为单个训练样本(x(i),y ...

  5. 摘录:官方文档对ROWID虚拟行的定义

    ROWID Pseudocolumn For each row in the database, the ROWID pseudocolumn returns the address of the r ...

  6. 剑指offer—第三章高质量的代码(按顺序打印从1到n位十进制数)

    题目:输入一个数字n,按照顺序打印出1到最大n位十进制数,比如输入3,则打印出1,2,3直到最大的3位数999为止. 本题陷阱:没有考虑到大数的问题. 本题解题思路:将要打印的数字,看成字符串,不足位 ...

  7. 【转】Eclipse常用快捷键

    原文网址:http://denver.blog.51cto.com/272871/52219 编辑相关快捷键 1.[Alt+/] 为用户提供内容的辅助. 2.[Ctrl+O] 显示类中方法和属性的大纲 ...

  8. Javascript高级程序设计

    根据叶小钗同学的建议,觉得有必要去读读Javascript高级程序设计,不想装B,只想仔细读读,源代码参考. 偶第一个想法,就是去读面向对象和事件那块,不仅关键,而且是薄弱点儿,所以必须去干掉这个短板 ...

  9. ViewPager 滑动页(四)

    需求:在ViewPager 滑动页(三) 基础上,减少界面层级. 效果图: 图层数变更前: 图层数变更后: 主要代码实现: <?xml version="1.0" encod ...

  10. GreenDao官方文档翻译(下)

    第五篇 查询 查询会返回符合某些特定标准的实体.你可以使用原始的SQL定制查询语句,或者更好的方式:使用GreenDao的QueryBuilder API.该查询也支持lazy-loading的结果集 ...