2012-03-01 11 views
0

私は空の配列をftp.listFiles()から戻します。私は何かを試した。タイプをパッシブモードに変更すると、同じエラーが発生します。配列は空です。他のマシンでコードを実行しても、問題は同じです。私はWindows FTPクライアント(LeechFtpまたはWindowsコマンドライン)を使用する場合は、私が参照してくださいdirectorylistを参照することができます。私がchangeWorkingDirectory-Commandなしでコードを実行すると、私はftpのルートからFilelistを取得しますが、私はサブディレクトリからListを取得しません。Javaのftp.listFiles()は空の配列を取得します

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

場合:

  1. あなたは、Apache Commonsのネットの古いバージョン(1.5以前)を使用しています。
  2. リストできないファイルは、昨日(2月29日)のタイムスタンプを持っています。

このバグにはおそらく実行中です:FTPClient#listFiles returns null element when file's timestamp is "02/29"

Commons Netをアップグレードすると問題が解決します。

関連する問題