「导读」本文介绍了在JAVA中如何使用java现有的可用的库来编写FTP客户端代码。文章比较了一系列详尽的FTP库,从正反两面介绍了每个库,帮助决策者根据自己的需要选择其中最合适的一个。另外,本文解释了当一个库被替换时,fagade 样式如何帮助改变对其的管理。最后作者Jean-Pierre Norguet讨论并提出了一些由于缺乏权威规范而引起的问题。
我们设想这样一个情形——我们想写一个纯的从一个远程计算机上运行的FTP上文件的应用程序;我们还希望能够过滤那些供的远程文件的基本文件信息如文件名、数据或者文件大小。
尽管从头开始写一个FTP处理程序是可能的,并且也许很有趣,但这项工作也是困难、漫长并且存在着潜在的危险。因为我们不愿意亲自花时间、精力、或者金钱去写这样的一个处理程序,所以我们转而采用那些已经存在的可重用的组件。并且很多的库存在于万维网(WWW)上。使用FTP客户端库,一个文件的程序可以用简单地写成这样:
FTPClient ftpClient = new FTPClient();
ftpClient.connect("", "user01", "pass1234");
ftpClient.download("C:", "README.txt");
// Eventually other operations here ……
ftpClient.disconnect();
找一个优秀的适合我们需要的java FTP 客户端库并不像看起来那么简单。相反这是一项非常痛苦复杂的工作。首先找到一个FTP客户端库需要一些时间,其次,在我们找到所有的存在的库后,我们该选哪一个呢&#