当前位置: 首页 > news >正文

金融行业高端网站制作now9999网站提示建设中

金融行业高端网站制作,now9999网站提示建设中,投资公司网站建设需求,网站虚拟空间购买Java之通过JSch库连接Linux实现文件传输 文章目录 Java之通过JSch库连接Linux实现文件传输1. JSch2. Java通过Jsch连接Linux1. poxm.xml2. 工具类3. 调用案例 1. JSch 官网#xff1a;JSch - Java Secure Channel (jcraft.com) JSch是SSH2的纯Java实现。 JSch 允许您连接到 ss…Java之通过JSch库连接Linux实现文件传输 文章目录 Java之通过JSch库连接Linux实现文件传输1. JSch2. Java通过Jsch连接Linux1. poxm.xml2. 工具类3. 调用案例 1. JSch 官网JSch - Java Secure Channel (jcraft.com) JSch是SSH2的纯Java实现。 JSch 允许您连接到 sshd 服务器并使用端口 转发、X11 转发、文件传输等以及 您可以将其功能集成到您自己的 Java 程序中。 JSch在BSD风格的许可证下获得许可。 2. Java通过Jsch连接Linux 1. poxm.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.yuan/groupIdartifactIdyuan-connect-linux/artifactIdversion1.0.0/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.12.0/version/dependencydependencygroupIdcom.jcraft/groupIdartifactIdjsch/artifactIdversion0.1.55/version/dependency/dependencies /project2. 工具类 SftpUtils.java如下 package com.yuan.utils;import com.jcraft.jsch.*; import org.apache.commons.lang3.StringUtils;import java.io.*; import java.util.*; import java.util.logging.Logger;//在使用的的时候需要调用 connect()开启连接使用完后调用 disconnect() 关闭连接 。 public class SftpUtils {Logger log Logger.getLogger(SftpUtils.class.getName());/*** 主机名称/IP*/private String host;/*** 端口默认22*/private int port 22;/*** 用户名*/private String userName;/*** 密码*/private String password;private ChannelSftp sftp null;private Channel channel null;private Session session null;public SftpUtils(String host, String userName, String password) {this.host host;this.userName userName;this.password password;}public SftpUtils(String host, int port, String userName, String password) {this.host host;this.port port;this.userName userName;this.password password;}/*** 连接到服务器** throws JSchException*/public void connect() throws JSchException {JSch jSch new JSch();session jSch.getSession(userName, host, port);session.setPassword(password);session.setConfig(this.config());session.connect();channel session.openChannel(sftp);channel.connect();sftp (ChannelSftp) channel;log.info(以连接到主机 host);}/*** config** return Properties*/private Properties config() {Properties properties new Properties();properties.put(StrictHostKeyChecking, no);return properties;}/*** 关闭连接*/public void closeConnect() {try {if (sftp.isConnected()) {sftp.disconnect();}if (channel.isConnected()) {channel.disconnect();}if (session.isConnected()) {session.disconnect();}} catch (Throwable e) {e.printStackTrace();}}/*** 下载文件** param remoteDir 远程服务器文件目录不指定路径默认是FTP的根路径指定路径是指的SFTP的根路径下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 文件名如myTest.pdf* param outputFilePath 下载文件保存路径目录文件名例如d:/pdf/myTest.pdf* return*/public boolean downloadFile(String remoteDir, String fileName, String outputFilePath) {OutputStream outputStream null;try {if (StringUtils.isNotBlank(remoteDir)) {sftp.cd(remoteDir);}outputStream new FileOutputStream(outputFilePath);sftp.get(fileName, outputStream);return true;} catch (Exception e) {log.info(下载文件错误, e.getMessage());} finally {if (outputStream ! null) {try {outputStream.close();} catch (IOException e) {e.printStackTrace();}}}return false;}/*** 文件上传** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/opt/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 上传后文件名* param localFilePath 本地文件路径目录文件名例如d:/aa/myTest.pdf* return*/public boolean uploadFile(String remotePath, String fileName, String localFilePath) {InputStream inputStream null;try {if (StringUtils.isNotBlank(remotePath)) {sftp.cd(remotePath);}inputStream new FileInputStream(localFilePath);sftp.put(inputStream, fileName);return true;} catch (Exception e) {log.info(文件上传失败: e.getMessage());} finally {if (null ! inputStream) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}return false;}/*** 上传文件** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 上传后文件名* param inputStream 文件输入流* return*/public boolean uploadFile(String remotePath, String fileName, InputStream inputStream) {try {if (StringUtils.isNotBlank(remotePath)) {sftp.cd(remotePath);}sftp.put(inputStream, fileName);return true;} catch (Exception e) {log.info(文件上传失败: e.getMessage());} finally {if (null ! inputStream) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}return false;}/*** 文件删除** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 文件名* return*/public boolean deleteFile(String remotePath, String fileName) {try {if (StringUtils.isNotBlank(remotePath)) {sftp.cd(remotePath);}sftp.rm(fileName);return true;} catch (Exception e) {log.info(删除文件失败: e.getMessage());}return false;}/*** 查询指定目录下所有文件** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* return*/public ListString listFiles(String remotePath) throws SftpException {Vector files sftp.ls(remotePath);ListString result new ArrayList();Iterator iterator files.iterator();while (iterator.hasNext()) {ChannelSftp.LsEntry isEntity (ChannelSftp.LsEntry) iterator.next();result.add(isEntity.getFilename());}return result;} }3. 调用案例 package com.yuan;import com.yuan.utils.SftpUtils;public class SftpDemo {public static void main(String[] args) {SftpUtils sftpUtils null;try {sftpUtils new SftpUtils(??, 22, ??, ??);sftpUtils.connect();sftpUtils.downloadFile(/opt/download/, myTest.pdf, D:\\aa\\pdf\\yuan.pdf);} catch (Exception e) {e.printStackTrace();} finally {if (sftpUtils ! null) {sftpUtils.closeConnect();}}} }
http://www.hkea.cn/news/14430522/

相关文章:

  • 佛山网站建设慕枫在线营销型网站建设
  • 关于网站建设的教材wordpress安装模板文件
  • 网站建设技术问题免费发布广告的网站
  • 新闻类网站排版网站建设建网站需要什么
  • 文章网站后台浙江+外贸网站建设
  • 女人脱内衣裤给男人做网站营业推广的目标通常是
  • 响应式网站和营销型网站node做网站优势
  • 企业营销型网站案例鞍山建一个网站大概要多少钱
  • 电商网站建设哪好多用户电商平台
  • 公众号搭建第三方平台2014中文网站seo排名名单
  • 现在市面网站做推广好网站制作视频教程
  • 勒流有做网站的吗网站每月流量
  • 用模板做的网站多少钱WordPress制作404页面
  • 社交网站第一步怎么做百度竞价推广技巧
  • 南城网站建设公司案例深圳品牌网站推广公司
  • 如何把自己的网站推广国内网站主机
  • 网站建站设计电子商务静态网页模板
  • 有关做服装的网站吗购物网站哪个东西便宜质量好
  • 绿色为主色的网站wordpress 双会员系统
  • 素材网站免费短视频wordpress调用最新评论
  • 郴州住房和城乡建设部网站网站备案号收回
  • 卫生局网站建设实施方案长沙网站建设公司哪家专业
  • 电器企业网站建设方案书google搜索优化方法
  • 网站开发及建设wordpress视频防盗链
  • 资兴市建设局网站南京多样化的网站建设定制公司
  • 建设vip视频解析网站违法吗网页打不开怎么解决手机
  • 新纪实网站建设百度云网站建设教程视频
  • 吉林网站网站建设湖南正规关键词优化首选
  • 重庆网站seo教程app交互设计
  • 沈阳网站优化推广方案网站建设小程序开发报价