SFTP文件上传、下载

public class SftpUtil {private String downFilePath = ""; // FTP文件下载路径private String fileEncodein = "";   //文件流格式private String ftpUrl = "";private String ftpUserName = "";private String ftpPassword = "";private String ftpFilePath = ""; // FTP文件路径private String port = ""; //端口号public String download(){String fileName ="tas_tradedetail_.txt";//连接SFTP服务器ChannelSftp channelSftp = null;try{channelSftp = this.connect(ftpUrl,Integer.valueOf(port), ftpUserName, ftpPassword);if(null == channelSftp || !channelSftp.isConnected()){return "SFTP服务器连接失败,请检查发送SFTP配置参数.";}InputStream inputStream = null;File file = new File(downFilePath);channelSftp.cd(ftpFilePath);//文件下载目录try{inputStream = channelSftp.get(fileName);//以流形式读取channelSftp.get(fileName,new FileOutputStream(file));//文件下载本地}catch (Exception e){return "SFTP下载文件失败:"+fileName+"文件不存在";}BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));String tempString = null;while ((tempString = reader.readLine()) != null){String[] arr = tempString.split("\\|");//以 '|'分割字符串//读取每行数据}}catch(Exception e) {StringWriter sw = new StringWriter();PrintWriter pw = new PrintWriter(sw);e.printStackTrace(pw);return "SFTP下载文件失败";}finally {channelSftp.disconnect();}return "succ";}public String upload() throws Exception{String fileName ="skybestpay_.txt";//连接SFTP服务器ChannelSftp channelSftp = null;try{channelSftp = this.connect(ftpUrl,Integer.valueOf(port), ftpUserName, ftpPassword);if(null == channelSftp || !channelSftp.isConnected()){return "SFTP服务器连接失败,请检查发送SFTP配置参数.";}//3, 创建副本文件的文件夹if (downFilePath.endsWith("/")){downFilePath = downFilePath + "/";}File tempFilePath = new File(downFilePath);if(!tempFilePath.exists()) {if(!tempFilePath.mkdir()) {return "本地的文件夹创建失败!";}}//4, 创建副本文件File tempFile = new File(tempFilePath.getAbsolutePath(),fileName);if(tempFile.exists()) {tempFile.delete();}if(!tempFile.createNewFile()) {return "本地的文件创建失败!";}//5, 写入副本文件FileWriterWithEncoding fileWriter = new FileWriterWithEncoding(tempFile, fileEncodein);StringBuffer general = new StringBuffer();StringBuffer content = new StringBuffer();try {content.append("1").append("|");content.append("2").append("|");content.append("3").append("|");content.append("4").append("|");content.append("5").append("|");content.append("6").append("|");content.append("7");fileWriter.write(content.toString());fileWriter.write(general.toString());} catch (IOException e) {throw e;} finally {fileWriter.close();}channelSftp.cd(ftpFilePath);//文件上传路径channelSftp.put(new FileInputStream(tempFile), tempFile.getName());}catch(Exception e) {StringWriter sw = new StringWriter();PrintWriter pw = new PrintWriter(sw);e.printStackTrace(pw);return "SFTP上传文件失败";}finally {channelSftp.disconnect();}return "succ";}/*** 连接SFTP服务器* @param host 主机* @param port 端口* @param username 账户* @param password 密码* @return* @throws Exception*/public ChannelSftp connect(String host, int port, String username, String password) throws Exception{ChannelSftp sftp = null;JSch jsch = new JSch();jsch.getSession(username, host, port);Session sshSession = jsch.getSession(username, host, port);sshSession.setPassword(password);Properties sshConfig = new Properties();sshConfig.put("StrictHostKeyChecking", "no");sshSession.setConfig(sshConfig);sshSession.connect();Channel channel = sshSession.openChannel("sftp");channel.connect();sftp = (ChannelSftp) channel;return sftp;}
}

SFTP文件上传、下载相关推荐

  1. Python + Paramiko实现sftp文件上传下载

    最近在测试服务器那块,看了下Paramiko模块,一直都是用FileZilla工具,想了想,持续集成,更新代码可以用Parmmiko完成,还是不错的 Paramiko是用python语言写的一个模块, ...

  2. sftp文件上传下载改名压缩解压

    希望能帮到大家,有疑问联系 package com.qb.modules.organtrans.interactive.jinshang;import java.io.File; import jav ...

  3. centos nfs java_CentOS下安装配置NFS并通过Java进行文件上传下载

    1:安装NFS (1)安装 yum install nfs-utils rpcbind (2)启动rpcbind服务 systemctl restart rpcbind.service 查看服务状态 ...

  4. 能过ChilkatDotNet4.dll组件,开发SFTP,上传下载功能。

    /// <summary>/// SFTP文件上传下载/// </summary>public class SFtp{/// <summary>/// http:/ ...

  5. 树莓派3B+采用花生棒进行内网穿透,从拆箱到实现SSH远程控制与sftp简单远程文件上传下载

    树莓派3B+采用花生棒进行内网穿透,使用sftp实现远程控制与简单远程文件上传下载) 准备步骤 物理环境搭建 关于基础配置的博文推荐 树莓派联网配置 基础联网 配置静态ip 花生壳内网穿透 常用远程端 ...

  6. java jsch下载文件,JSch使用sftp协议实现服务器文件上传下载操作

    Jsch是什么? JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 程序中.同时该项目也提供一个J2 ...

  7. SFTP文件上传与下载

    一.引入jar包 <dependency><groupId>com.github.mwiede</groupId><artifactId>jsch< ...

  8. xftp实现本地与服务器的文件上传下载(windows)

    背景: Jemter环境搭建,需上传下载服务器文件到aws服务器上,由于secureCRT的局限性它只支持pub格式的密钥,不支持pem格式密钥,xshell是支持pem格式的,所以尝试安装xshel ...

  9. JSCH实现文件上传下载

    前言 最近项目中经常用的jsch来进行文件上传下载,在业务量大的时候,每次都去获取sftp连接很消耗资源,后面就想着使用连接池来解决. 简述 1)jsch是ssh2的一个纯Java实现.它允许你连接到 ...

最新文章

  1. 五子棋html游戏代码与算法介绍
  2. wsasend发送不可靠_架构师总结:kafka 如何保证数据的可靠性和一致性
  3. python 日志内容提取
  4. 如何保证代码的高质量?
  5. 会向业务“砍需求”的技术同学,该具备哪6点能力?
  6. 20171016课程随笔
  7. 移动开发 Jetpack Compose 组件布局
  8. spark读取gz文件与parquet文件
  9. (渝粤教育)网络教育远程教育统考计算机应用基础复习题
  10. 求义隆单片机c语言红外解码程序,吐槽义隆单片机,顺便送上超轻红外解码程序....
  11. 关于glew.h / glut.h引用
  12. 计算机打印机能不能取消正在,删除HP打印机驱动程序. 打印机驱动程序正在使用中,无法删除...
  13. 学习笔记1 - ResNet网络学习
  14. LeetCode-590. N-ary Tree Postorder Traversal
  15. 知名企业面试、笔试题
  16. unity3d 模拟电脑实现_基于Unity3D三维电脑组装实验系统的实现
  17. 各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(二):统计并展示数据
  18. java成绩管理系统论文总结_毕业论文基于java的学生成绩管理系统.doc
  19. 未雨绸缪,聊聊旧系统升级改造那些事儿
  20. 74ls160 24进制异步计数器

热门文章

  1. 以太坊智能合约的生命周期
  2. ADB+bat实现循环刷屏
  3. 大学物理第七章“机械波”复习笔记
  4. 【goldengate】官方文档笔记四 Oracle GoldenGate实时数据分布
  5. 现代软件工程作业4-7(龙秋娴)
  6. redis php 书,PHP-redis中文文档
  7. 什么软件可以录屏?这3款宝藏录屏软件,码住收藏
  8. 小萌新准备参加五一建模大赛纪实
  9. java fx:ria_虚拟小组讨论:RIA的当前和未来状态
  10. 遥感目标检测数据集汇总