锁定老帖子 主题:ftp迁移工具[apache net包]
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-05
最后修改:2011-01-14
前言:最近有个需求,要求从一台WINDOWS的服务器上迁移4.5G的文件到HP-UNIX机器,无奈mget不支持文件夹。所以自己基于apache的net包写了个递归FTP迁移文件的工具。 工具用Myeclipse开发,附件是直接用Myeclipse explort出来的File System格式的,直接解压放入Myeclipse工程就行了,你可以把这个工程导成jar在你需要迁移的目的机器上执行. 就一个主要类FtpDirUtil.java,还有一个配置文件FtpServerZhCfg.properties配置了ftp服务器的listFiles格式实现类,里面这个org.coffeesweet.main.ZhUnixFTPEntryParser是我自己扩展原有的unix的实现类,因为原有的对中文支持不好,自己修改了原有的正则表达式。 windows服务器如果用IIS发布FTP服务的话用我这个实现类也可以,因为它FTP上去也是采用的UNIX格式的listFiles; 另外加入了ftp的log监控,有网络异常没有传递成功的文件最后会在ftpExceptionLog.txt日志文件中列出,ftpLog.txt中 记录的是正常传递的文件。 就这么多了,属于临时解决问题,很粗糙。 还有apache-net的1.4版本劝大家别用了,有问题,经常出现connect close reset的问题。而且里面集合都是用vector 实现的,新的2.0后的版本都改为了新的jdk的集合类。 2011年1月14日修改 1:增加了本地递归上传文件的功能; 2:修订了原有包的中文目录问题; 执行FtpDirUtil.java类,参数格式: // args[0] download or upload // args[1] server // args[2] port // args[3] user // args[4] pwd // args[5] remot dir [absolute] remotDir is always(unix and windows) is '/' begin // args[6] local dir [absolute] 程序没有进行严格的参数判断,自己写符合格式的参数。 本次新增附件名为FtpDirUtil_ZH.rar,原有包没有删除。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-06
如果文件数量多的话,建议先压成存档文件,然后再ftp或者其他方式移过去,然后释放就行了,注意压缩的时候选"存档",速度很快
先存档的理由是,如果文件数量很多,那么ftp会很慢,大部分时间会花在建立ftp连接,发送各种命令,关闭连接上 想起好久之前实习做过类似的事情..用ftpclient上传数以万记的文件,慢得不得了~~ |
|
返回顶楼 | |
浏览 3126 次