中文FTP环境下,使用commons-net,FTPClient.listFiles()方法返回null的问题及解决办法
项目中需要从FTP上下载数据,采用了开源的commons-net包。在实际应用中发现了一个问题,有些服务器上调用ftpClient.listFiles()方法可以返回包含文件名的数组,有些服务器上此方法返回NULL。但是ftpClient.listNames()方法能返回路径中的文件名,ftpClient.delete()方法也能删除文件。
命令行连接FTP,执行ls -l 发现返回数据日期的地方比较奇怪。
// 在调用 ftpClient.listNames()方法前,先调用ftpClient.configure(new FTPClientConfig(package.MyFTPEntryParser));// package.MyFTPEntryParser:我们的类的全路径