FTPClient连接时间过长无数据传输导致连接无效异常如何处理?

想要实现一个实时系统,while(true){中间是从ftp服务器上面下载文件
}

现在碰到一个问题:有时候服务器上面没有文件就不会有data传输
导致时间超过设置时间后无法读取文件
但是使用:ftp.isConnect() 和ftp.isAvailable()去判断都是true
但是ftp.retrieveFile(remoteFilePath+lists[i].getName(), fos);的时候就报错,请问如何判断ftp已经失效?或者说怎么样才能重新连接下载?

ftp.isRemoteVerificationEnabled()

用这个方法试一下吧

但是隐约记得问题不是出在这里,ftp这时仍是连着的,ftp.retrieveFile 方法在上传多个文件时就会出这个问题,可能要换个方法

个人感觉还是用sun的不要用apache;
以下是我用apache的的代码
ftpClient_oa.enterLocalPassiveMode();
ftpClient_oa.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient_oa.setBufferSize(65535);
inputStream=ftpClient_oa.retrieveFileStream(new String(fileName.getBytes("gb2312"),"iso-8859-1"));

不过我还来还是改成sun的 ;
不知道对你有没有帮助 ;