从SFTP到代码移植Liunx 环境

本文介绍了如何使用SFTP进行安全文件传输,并在Linux环境中进行代码移植。重点包括SFTP的概念、所需jar包、代码示例、配置文件处理、数据库连接优化建议以及Linux环境变量配置和.jar文件打包过程。在数据去重部分提醒注意效率,推荐使用c3p0库管理数据库连接。
摘要由CSDN通过智能技术生成

(本文纯属是在工作中笔记,只是实现了基本的操作,在遍历数据去重复的那块代码写的不怎么好,数据量大了很耗时(需要大家自己实现),建议使用c3p0-0.9.5.2.bin第三方库进行管理数据库与服务器的频繁连接,有不妥的地方请大家多多包涵........

SFTP概念:

                    是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。

SFTP需要的jar包:

    

    由于jar包无法上传把需要所需要的jar包名称在这里标注好了点击这里进行下载对应的jar包,

不会下载的小伙伴附上教程

SFTP上文件代码:

    

package text;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import com.jcraft.jsch.ChannelSftp;
/**
*
* @author 文件上传
*
*/
public class SFTPTest {
    public SFTPChannel getSFTPChannel() {
        return new SFTPChannel();
    }
    public static void main(String[] args) throws Exception {
        SFTPTest test = new SFTPTest();
        Map<String, String> sftpDetails = new HashMap<String, String>();
        // 设置主机ip,端口,用户名,密码
        sftpDetails.put(SFTPConstants.SFTP_REQ_HOST, "你远程服务器ip地址");
        sftpDetails.put(SFTPConstants.SFTP_REQ_USERNAME, "远程服务器用户名");
        sftpDetails.put(SFTPConstants.SFTP_REQ_PASSWORD, "远程服务器密码");
        sftpDetails.put(SFTPConstants.SFTP_REQ_PORT, "端口号");
        
        String src =""; // 本地文件名
        String dst =""; // 目标文件名
        //初始化配置      
        SFTPChannel channel = test.getSFTPChannel();
        ChannelSftp chSftp = channel.getChannel(sftpDetails, 响应时间);
        File file = new File(src);
        long fileSize = file.length();
        OutputStream out = chSftp.put(dst, new FileProgressMonitor(fileSize), ChannelSftp.OVERWRITE); // 使用OVERWRITE模式 数据传输的模式
        byte[] buff = new byte[1024 * 256]; // 设定每次传输的数据块大小为256KB
        int read;
        if (out != null) {
            System.out.println("Start to read input stream");
            InputStream is = new FileInputStream(src);
            do {
                read = is.read(buff, 0, buff.length);
                if (read > 0) {
                    out.write(buff, 0, read);
                }
                out.flush();
            } while (read >= 0);
            System.out.println("input stream read done.");
        }
        //chSftp.put(s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值