sftp多线程下载

复制代码
 //上传文件测试
    public static void main(String[] args) throws SftpException, IOException {
        ExecutorService exec = Executors.newFixedThreadPool(10);
        for (int i = 0; i <10 ; i++) {
            exec.execute(new Runnable() {
                public void run() {

                    try {
                        JSch jsch = new JSch();

                        Session session = jsch.getSession("root",  "192.168.60.128", 22);

                        session.setPassword("lxz499929793");

                        Properties config = new Properties();
                        config.put("StrictHostKeyChecking", "no");

                        session.setConfig(config);
                        session.connect();

                        Channel channel = session.openChannel("sftp");
                        channel.connect();

                        ChannelSftp sftp = (ChannelSftp) channel;
                        sftp.cd("/root/pic");
                        atomicInteger.incrementAndGet();
                        sftp.get( "banner4.jpg", "D:\\aaadown\\xxxxx"+atomicInteger+".jpg");
                        sftp.disconnect();
                        session.disconnect();
                    } catch (JSchException e) {
                        e.printStackTrace();
                    } catch (SftpException e) {
                        e.printStackTrace();
                    }
            }
            });

        }
        while (true){
            if(atomicInteger.get()==10){

                exec.shutdown();
                System.out.println("下载好了");
                break;
            }
            try {
                Thread.sleep(500);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

    }
复制代码

 

posted on 2019-02-13 00:20  雨后黄昏  阅读(1393)  评论(0)    收藏  举报

编辑推荐:
· 深入理解 C# 异步编程:同步、Task.Wait () 与 await 的本质区别
· WPF 引用 ASP.NET Core 的 AOT 版本
· 通过 Canvas 将后端发来的一帧帧图片渲染成“视频”的实现过程
· 当加密ID需要变成Guid:为什么我选择了AES-CBC而非GCM?
· 基于 epoll 的协程调度器——零基础深入浅出 C++20 协程
阅读排行:
· .NET周刊【8月第1期 2025-08-03】
· Manus快速搭建个人网站
· 这套 Java 监控系统太香了!我连夜给项目加上了
· 【译】GPT-5 现已在 Visual Studio 中可用
· 千亿消息“过眼云烟”?Kafka把硬盘当内存用的性能魔法,全靠这一手!
< 2025年8月 >
27 28 29 30 31 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6

导航

统计

点击右上角即可分享
微信分享提示