我们设想这样一个情形--我们想写一个纯java的从一个远程计算机上运行的ftp服务器上下载文件的应用程序;我们还希望能够过滤那些供下载的远程文件的基本文件信息如文件名.数据或者文件大小.
【程序编程相关:上海拟推46M家庭宽带 2010年有望在】尽管从头开始写一个ftp协议处理程序是可能的,并且也许很有趣,但这项工作也是困难.漫长并且存在着潜在的危险.因为我们不愿意亲自花时间.精力.或者金钱去写这样的一个处理程序,所以我们转而采用那些已经存在的可重用的组件.并且很多的库存在于万维网(www)上.使用ftp客户端库,一个下载文件的程序可以用java简单地写成这样: 【推荐阅读:专家:泉州IPTV事件首先要解决认识问题】
【扩展信息:分析师预测北电可能合并 西门子和摩托候选】 ftpclient ftpclient = new ftpclient(); ftpclient.connect("ftp.foo.com", "user01", "pass1234"); ftpclient.download("c:\\temp\\", "readme.txt"); // eventually other operations here ... ftpclient.disconnect();找一个优秀的适合我们需要的java ftp 客户端库并不像看起来那么简单.相反这是一项非常痛苦复杂的工作.首先找到一个ftp客户端库需要一些时间,其次,在我们找到所有的存在的库后,我们该选哪一个呢?每个库都适合不同的需求.这些库在性能上是不等价的,并且它们的设计上有着根本上的差别.每个类库都各具特点并使用不同的术语来描述它们.因而,评价与比较ftp客户端库是一件困难的事情.
使用可重用组件是一种值得提倡的方法,但是在这种情况下,刚开始往往是令人气馁的.后来或许有点惭愧:在选择了一个好的ftp库后,其后的工作就非常简单了,按简单的规则来就行了.
本文的目的是使选择的过程更简短.容易.有价值.首先我列举了所有的可用的ftp客户端库,然后定义并描述了一系列的ftp客户端库应该在某方面提出的相关标准.最后,我会描述一下这些库的性能等彼此比较的结果.所有的这些都为我们做一个快速的,可靠的,长期的决定提供了所需的东西.... 下一页