ftp迁移工具[apache net包]

前言:最近有个需求,要求从一台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,原有包没有删除。

 

至于apache-common-net包对中文日期支持的问题,除了我上面采用的配置文件的解决方案,还有下面

链接的方案,感觉比较麻烦,就看你的需要了,你到底需不需要文件的时间等相关属性(中文环境的话)

http://blog.csdn.net/shangzhiliang_2008/article/details/5933511

 

 

你可能感兴趣的:(apache,.net,unix,正则表达式,MyEclipse)