1、Maven依赖

        <!--Java连接Linux服务器依赖-->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>

2、相关实现

private static final String RECORD_DIR="/dings";
private static final String SAVE_DIR="D:/backGroundVideos";
public static void main(String[] args){
// SFTP服务器地址
String host = "xxx.xxx.xxx.xxx";
// SFTP服务器端口号
int port = Integer.valueOf("22");
// SFTP登录用户名
String username = "xxx";
// SFTP登录密码
String password = "xxxxx";
JSch jsch = new JSch();
Session session = null;
ChannelSftp channelSftp = null;
try {
session = jsch.getSession(username, host, port);
session.setPassword(password);
// 设置StrictHostKeyChecking为no,避免第一次连接时会提示确认主机指纹信息
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
channelSftp = (ChannelSftp) session.openChannel("sftp");
channelSftp.connect();
// 切换到要操作的文件夹路径
channelSftp.cd(RECORD_DIR);
Vector<ChannelSftp.LsEntry> fileList = channelSftp.ls("./*");
for (int i=0; i < fileList.size(); i++) {
ChannelSftp.LsEntry entry = fileList.elementAt(i); if (!entry.getAttrs().isDir()) { InputStream inputStream = channelSftp.get(entry.getFilename()); File file = new File(SAVE_DIR + "/local_directory/");
if (!file.exists()){
file.mkdirs();
}
String filePath = file +File.separator+ entry.getFilename();
OutputStream outputStream = new FileOutputStream(filePath);
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
} inputStream.close();
outputStream.flush();
outputStream.close();
}
//获取完成删除文件
//channelSftp.rm(entry.getFilename());
}
} catch (JSchException | SftpException | IOException e) {
e.printStackTrace();
} finally {
if (channelSftp != null && channelSftp.isConnected()) {
channelSftp.disconnect();
}
if (session != null && session.isConnected()) {
session.disconnect();
}
}
}

java通过jsch使用sftp连接linux处理文件的更多相关文章

  1. java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息

    1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/2 ...

  2. java通过sftp对linux服务器文件夹进行操作

    本文主要讲sftp对linux服务器的文件和文件夹进行操作,windows server 服务器不支持. package com.lx.ftp; import java.io.File; import ...

  3. SecureFX连接Linux后文件夹中文乱码问题解决(转)

    在使用SecureFX 连接Linux 时,发现文件夹显示乱码,一直尝试各种配置,现将方法整理一下!供大家参考! 首先在选项中设置字符编码为UTF-8 然后在全局选项中找到Securefx的配置文件 ...

  4. SFTP 连接服务器下载文件方法采坑说明

    本篇博客主要记录请求SFTP服务器的一些方法采坑情况. 采坑的方法说明: 1. cd():这个方法用于进入某个目录下. 默认情况,当连接SFTP服务器成功后直接进入用户目录,比如我连接自己本机SFTP ...

  5. 1.关于UltraEdit中的FTP和Tenent配置,UE远程连接Linux进行文件操作

     1  安装UltraEdit 2  配置FTP相关的配置 文件àFTP/Tenet(T)à watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3 ...

  6. linux linux 互传文件 win 不通过 ftp sftp 往linux 传文件(文件夹)

    linux 传入 传出文件 swp  port  22 怎样通过swp通过docker 容器向外传文件 通过scp Linux互传文件,需要知道文件源 file source 所在系统的ip wuse ...

  7. securefx连接linux后文件夹中文乱码问题解决

    首先在选项中设置字符编码为UTF-8 然后在全局选项中找到Securefx的配置文件 进入到该目录中,选择“Sessions”: 在“Sessions”中找到链接地址的ini文件,并用文本编辑器打开: ...

  8. 通过sftp操作Linux服务器上的文件(java)

    本文为实现对linux服务器文件的操作.windows服务器不支持. 引入jar包:jsch-0.1.42.jar package com.csvreader.sftp; import java.io ...

  9. java之Jsch实现Linux的文件上传与下载

    一.JSch是Java Secure Channel的缩写.JSch是一个SSH2的纯Java实现.它允许你连接到一个SSH服务器,并且可以使用端口转发,X11转发,文件传输等,当然你也可以集成它的功 ...

  10. java使用ssh连接Linux并执行命令

     方式1:通过设置账号密码和链接地址 maven pom.xml配置: <dependency>         <groupId>com.jcraft</groupId ...

随机推荐

  1. VUE2的前端学习笔记

    名词笔记 Node node.js 是一切的基础, 其他的名词都是基于这个运行的, 相当于一个JavaScript的容器或者虚机 NPM 安装node.js时赠送的包管理器, 类似于apt, yum, ...

  2. 【OpenGL ES】渲染管线

    1 前言 ​ 渲染管线是指图形渲染流程,涉及到的概念非常多,主要包含图元.片段.光栅化.空间.变换.裁剪.着色器.片段测试.混合等.渲染管线主体流程如下: ​ 为方便读者理解渲染管线,本文将先介绍顶点 ...

  3. 将JavaBean对象转换为Map集合

    使用jackson-databind可以将JavaBean对象属性转换为Map集合. 添加配置依赖: <dependency> <groupId>com.fasterxml.j ...

  4. ASP.NET Core 微信支付(一)【统一下单 APIV3】

    官方参考资料 签名:https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_0.shtml 签名生成:https://wechatp ...

  5. 矩池云快速安装torch-sparse、torch-geometric等包

    租用机器,按自己需要的环境选择一个环境,我这里选择的是Pytorch 1.10. 租用成功后点击租用页面的 Jupyterlab 链接. Jupyterlab 里新建一个Terminal 用来安装环境 ...

  6. 数据结构(三):舞伴配对问题(C++,队列)

    好家伙, 题目如下: 1.舞伴配对问题:假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队.跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴. 2.若两队初始人数不相同,则较长的那一队中未配 ...

  7. HashMap,TreeMap,LinkedHashMap的默认排序

    简单描述 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,HashTable以及LinkedHashMap等. TreeMap:能够把它保存的记录根据键(key)排序,默 ...

  8. DataGear 制作支持全国、省、市三级数据钻取效果的地图数据可视化看板

    通过DataGear的参数化数据集.图表联动和看板API功能,可以很方便地制作支持数据钻取效果的数据可视化看板. 首先,以上级地区名为参数,新建一个参数化SQL数据集: SELECT COL_NAME ...

  9. 【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因为调用函数名称错误而导致长时间无响应问题

    问题描述 在使用Azure Durable Function函数,调用函数链模式来调用多个Activity Function. 函数链:https://docs.azure.cn/zh-cn/azur ...

  10. 如何设计一个高性能的图 Schema

    本文整理自青藤云安全工程师--文洲在青藤云技术团队内部分享,分享视频参考:https://www.bilibili.com/video/BV1r64y1R72i 图数据库的性能和 schema 的设计 ...