メソッド listFiles(dirname) を使用して、そのインスタンスで FTPClient & のインスタンスを作成しています。
FTPClient ftpClient = new FTPClient();
ftpClient.connect("my-server-ip-address");
ftpClient.setConnectTimeout(20000);
ftpClient.enterLocalPassiveMode();
ftpClient.login("myUser", "myPswd");
ftpClient.setKeepAlive(true);
final FTPFile[] listedFiles = ftpClient.listFiles(dirname);
この listFile() 操作は、「java.io.IOException: システム タイプを判別できません - 応答: 500 SYST が実装されていません」という例外をスローしています。
しかし、以下のように FTPClientConfig を使用して ftpClient オブジェクトで接続を呼び出す前に、SYST タイプを UNIX として設定すると、
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
ftpClient.configure(conf);
次に、SocketTimeoutException がスローされます
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) [rt.jar:1.7.0_10]
at java.net.SocketInputStream.read(SocketInputStream.java:150) [rt.jar:1.7.0_10]
FTP サーバーは SUSE Linux Enterprise Server 10 (x86_64) で実行されています。
FTP サーバー内のファイルを正常に一覧表示するために必要な構成は他にありますか?
事前に助けてくれてありがとう。