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();
            }
        }

    }

 

转载于:https://www.cnblogs.com/georgeJavaEE/p/10367644.html

你可能感兴趣的:(sftp多线程下载)