java ftp 客户端(apache jakarta commons net ftp)的bug[原创][Bug]

来源:互联网 发布:酒心巧克力 知乎 编辑:程序博客网 时间:2024/04/29 23:00
<script type="text/javascript"><!--google_ad_client = "pub-3254020074528490";/* 728x90, 创建于 08-7-28 */google_ad_slot = "4707384325";google_ad_width = 728;google_ad_height = 90;//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
        使用 apache下org.apache.commons.net.ftp有一段时间了,主要是用来建立ftp应用。我的感觉该类库不是很好用,也有很多bug,而且截至今天org.apache.commons.net还是1.4.1,都几年没有更新了,是乎没人维护了。
        正常来说,建立连接后,使用以下代码获得ftp文件的封装类FTPFile,在大多数情况下都是正确的:
FTPListParseEngine engine = ftpclient.initiateListParsing("*.txt");
    FTPFile[] files 
= engine.getFiles();

       但是今天碰到一个很怪的问题,搞了一个晚上都无法解决:
       1.服务器端有n个文件,FTPFile数组中经常有null值出现。
       2.一旦有null值出现,后面的文件都无法显示。
       我试过使用NTFTPEntryParser等方式,不行;使用ftpclient.listFiles(),也不行。总之返回值是FTPFile的都有问题。
        最终,使用另外的途径:
String[] fs = client.listNames("*.txt");
        这个返回的String[]是正确的。


原创声明:
1.本文章除特别声明外,所有文字、图片均属原创,著作权归本人所有。
2.欢迎转载或引用,并请声明原作者和本文章原始链接地址。
3.本文章出于总结和分享知识的目的,如果运用本文章于商业用途,请联系本人。
4.发扬网络文明,保护知识产权,请您遵守;如您违反,将追究法律责任!
<script type="text/javascript"><!--google_ad_client = "pub-3254020074528490";/* 728x90, 创建于 08-7-28 */google_ad_slot = "4707384325";google_ad_width = 1680;google_ad_height = 90;//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击