最近做的项目中,有一个小需求,需要通过SCP把本地文件copy到远程服务器。查了好多资料,最终解决方案简单快速,分享一下。

在这里,需要用到4个jar包,分别是ant-jsch.jar,ant-launcher.jar,ant.jar,jsch-0.1.52.jar。

前三个jar包,可以去http://ant.apache.org/bindownload.cgi下载最新的apache ant zip archive, 目前最新版本是apache-ant-1.9.7-bin.zip。解压之后,在lib文件夹下可以找到上述三个jar包。

jsch-0.1.52.jar可通过https://sourceforge.net/projects/jsch/下载。

把这几个jar包引入到项目中后,就可以用org.apache.tools.ant.taskdefs.optional.ssh.Scp来进行文件的网络传输了,代码如下:

 Scp scp = new Scp();
int portSSH = 22;
String srvrSSH = "bjcore-geda06.int.thomsonreuters.com";
String userSSH = "oracle";
String pswdSSH = "oracle";
String localFile = "D:\\dx_test.html";
String remoteDir = "/home/oracle/"; scp.setPort( portSSH );
scp.setLocalFile( localFile );
scp.setTodir( userSSH + ":" + pswdSSH + "@" + srvrSSH + ":" + remoteDir );
scp.setProject( new Project() );
scp.setTrust( true );
scp.execute();

此外,还可以通过调用org.apache.tools.ant.taskdefs.optional.ssh.SSHExec来执行shell脚本。

如果想直接使用JSCH来完成上述操作,也可以参考org.apache.tools.ant.taskdefs.optional.ssh中的相应代码。

Java SCP copy local file to remote implementation的更多相关文章

  1. C# transfer local file to remote server based on File.Copy

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; usin ...

  2. 【树莓派】-bash: /usr/local/java/jdk1.8.0_161/bin/java: cannot execute binary file: Exec format error

    遇到这样的问题:-bash: /usr/local/java/jdk1.8.0_161/bin/java: cannot execute binary file: Exec format error ...

  3. 关于ADB push 出现failed to copy 'D:\file.xtxt' to '/system/temp/' : Read-only file system 的报错信息解决办法

    首先使用USB连接电脑与小机,然后安装adb相应的驱动,这是第一步,也是必须要做的. 进入doc系统后,敲入adb shell  可以进入linux命令行状态,说明adb可以使用了. 回到标题,我们现 ...

  4. ORA-00245: control file backup failed; target is likely on a local file system (转载)

    环境:DB VERSION: 11.2.0.4.0RAC 2 nodes 问题:邮件显示rman备份失败,查看rman备份日志 Starting Control File and SPFILE Aut ...

  5. Error copying image in the datastore: Not allowed to copy image file

    opennebula error copying image in the datastore not allowed to copy image file Error copying image i ...

  6. vscode local attach 和 remote debug

    VSCode是MS推出的一款免费的开源并跨平台的轻量级代码编辑器,内置Git和Debug等常用功能,强大的插件扩展功能以及简单的配置几乎可以打造成任意编程语言的IDE.本文简单聊一下其本地attach ...

  7. Java I/O学习——File

    File我们出看可能会根据字面意思理解为文件,其实它既代表文件又代表目录. 这里有一个例子可以列出指定目录下的所有文件或目录, 以及我们可以过滤得到我们想要的文件 import java.io.Fil ...

  8. Java编程思想:File类getCanonicalFile()方法,listFile()方法

    import java.io.IOException; import java.util.*; import java.util.regex.Pattern; import java.io.File; ...

  9. Web Application Penetration Testing Local File Inclusion (LFI) Testing Techniques

    Web Application Penetration Testing Local File Inclusion (LFI) Testing Techniques Jan 04, 2017, Vers ...

随机推荐

  1. Discuz论坛安全加固浅析

    [51CTO专稿]Discuz! 论坛以其功能完善.效率高效.负载能力,深受被大多数的网站喜爱和青睐.无独有隅,笔者所维护的论坛就是用discuz! 来构建的,从接手时候的7.2到现在x2.0,经历了 ...

  2. 关于owinstartupattribute的错误

    关于以上的作物究其原因在与引用的Microsoft.owin等一系列的dll文件,出现这个问题只需在内部删除多余的相关包就可以了,在我的项目中需要三个,如下图,其余的都删除 . 这些相关的dll为什么 ...

  3. spring.net 配置文件需要注意换行问题

    今天在做Spring.NET Demo时写配置文件写ObjectNames 节点的Value成这样 <object id="ProxyCreator" type=" ...

  4. Python:list用法

    list是一种有序的集合,可以随时添加和删除其中的元素. 定义 空list >>> a_list=[] >>> a_list [] 普通 >>> ...

  5. 常看常遇见之一——BS架构VS CS架构

    常看常遇见之一——BS架构VS CS架构 1.BS架构 即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户 ...

  6. JS实现 点击button(copy) 复制对应的网址——类似于复制推广链接

    <form action=""> <input type="text" class="share-input" value ...

  7. [转]EntityFramework状态变化AutoDetectChangesEnabled与SaveChanged参数说明

    一.约定OnModelCreating 有一些限制需要注意,例如:1.表名不支持使用标签进行标注2.最小长度在 OnModelCreating 中不支持3.正则表达式在 OnModelCreating ...

  8. 【思路】-分页-双top分页算法的原理

    描述:实现分页的一种算法 大致过程:访客访问不同的分页,为这个当前页生成动态的查询SQL,然后送到数据库中执行 输入:总条数,每页多少条,第几页,查询的SQL,排序的字段 注意:传入的排序字段需要构成 ...

  9. C#精髓 第四讲 GridView 72般绝技

    http://blog.csdn.net/21aspnet/article/details/1540301

  10. [css3]叉叉旋转效果

    .close_frame{display:inline-block;height:14px;width:14px;background:url("../images/closeiframe. ...