package com.youlai.boot.system.schedule;

import com.jcraft.jsch.ChannelSftp;
import com.youlai.boot.common.util.FtpUtil;
import com.youlai.boot.common.util.SFTPChannel;
import com.youlai.boot.common.util.SFTPConstants;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class FTPUploadTask implements Runnable {


    private String absPath;


    public FTPUploadTask(String absPath) {

        this.absPath = absPath;
    }

    @Override
    public void run() {
// 创建FTP对象
        try {
            Map<String, String> sftpDetails = new HashMap<String, String>();
            // 设置主机ip，端口，用户名，密码
            sftpDetails.put(SFTPConstants.SFTP_REQ_HOST, "182.92.126.35");
            sftpDetails.put(SFTPConstants.SFTP_REQ_USERNAME, "root");
            sftpDetails.put(SFTPConstants.SFTP_REQ_PASSWORD, "Ccri123456");
            sftpDetails.put(SFTPConstants.SFTP_REQ_PORT, "22");

            SFTPChannel channel = new SFTPChannel();
            ChannelSftp chSftp = channel.getChannel(sftpDetails, 60000);


            chSftp.put(absPath, absPath, ChannelSftp.OVERWRITE); // 代码段2（常用）

            // chSftp.put(new FileInputStream(src), dst, ChannelSftp.OVERWRITE); // 代码段3

            chSftp.quit();
            channel.closeChannel();
        }catch (Exception e){
            System.out.println(e.getMessage());
            e.printStackTrace();
        }


    }
}