我正在创建一个FTPClient&的实例。在该实例上使用方法listFiles(dirname)。
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对象上的connect之前将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服务器中的文件。
感谢您的帮助。