java ftp 复制文件命令_Java实现FTP传输文件(一)

基于Java的ftp传输文件方式有2种,一种是利用Runtime.getRuntime().exec()执行操作系统的ftp命令,达到ftp的目的,另一种是利用Apache commons-ftp工具包实现ftp的功能,不同的方法,可以达到相同的效果。这里简单介绍下用Java Runtime调用执行ftp的例子。

下面是最近正巧做的利用Runtime执行操作系统的批处理脚本执行ftp文件传输功能的例子,程序生成脚本如下:

Windows脚本:

4f1150b881333f12a311ae9ef34da474.pngopen 目标IP

4f1150b881333f12a311ae9ef34da474.png用户名

4f1150b881333f12a311ae9ef34da474.png密码

4f1150b881333f12a311ae9ef34da474.pngcd 目标路径

4f1150b881333f12a311ae9ef34da474.pngasc

4f1150b881333f12a311ae9ef34da474.pngprompt

4f1150b881333f12a311ae9ef34da474.pngput 本地文件(完整路径)

4f1150b881333f12a311ae9ef34da474.pngbye

Unix脚本:

4f1150b881333f12a311ae9ef34da474.pngftp -n -i 目标IP <

4f1150b881333f12a311ae9ef34da474.pnguser 用户名 密码

4f1150b881333f12a311ae9ef34da474.pngcd 目标路径

4f1150b881333f12a311ae9ef34da474.pnglcd 本地文件路径

4f1150b881333f12a311ae9ef34da474.pngasc

4f1150b881333f12a311ae9ef34da474.pngprompt

4f1150b881333f12a311ae9ef34da474.pngput 本地文件

4f1150b881333f12a311ae9ef34da474.pngbye

4f1150b881333f12a311ae9ef34da474.png!EOF

这里传送的是文本文件,所以采用asc模式传输。然后Java Runtime执行命令 [Runtime.getRuntime().exec(cmd)] 如下:

Windows命令:

4f1150b881333f12a311ae9ef34da474.pngftp -s:脚本文件(完整路径)

Unix命令:

4f1150b881333f12a311ae9ef34da474.pngsh 脚本文件(完整路径)

以上如果都使用的是用户当前工作目录user.dir作为焦点目录,则其实都可以省去(完整路径)的定位。可是在服务器上用户权限有所控制,user.dir无法提供当前用户写入文件,所以只能麻烦一点另找目录定位路径。好了,其实也一样。

这样,ftp上传功能就完成了,当然,这里的前提是这个脚本生成不能有误。如果输入的参数有错误,脚本执行过程中返回的错误Runtime是没有捕获的。所以,如果需要知道ftp过程中的每一步是否出错,出的什么错,最好使用Apache的commons-ftp包处理(使用FTPClient),网路上有很多相关的例子,可以找来看看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值