我从ftp.listFiles()获取一个空数组。我试了一下。如果我将Type更改为被动模式,我会得到相同的错误,Array为空。如果我在其他机器上运行代码,问题仍然是相同的。如果我使用Windows FTP客户端(LeechFtp或WIndows命令行),我可以浏览获取目录列表。如果我在没有changeWorkingDirectory-Command的情况下运行代码,我将从ftp root获取文件列表,但是我没有从子目录中获取List。
ftp = new FTPClient();
ftp.setDefaultPort(21);
ftp.connect("ftp.myftpsite.com");
ftp.enterLocalPassiveMode();
ftp.login("username", "password");
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.changeWorkingDirectory("pub/inbound");
FTPFile[] files = ftp.listFiles();
System.out.println(files.length);
ftp.changeWorkingDirectory返回TRUE。
答案 0 :(得分:0)
如果:
然后你可能遇到了这个错误:FTPClient#listFiles
returns null element when file's timestamp is "02/29"。
升级Commons Net会使问题消失。