在调用FTPClient.closeServer() 之前,先调用FTPClient.serverIsOpen方法,看对方服务器是否还在开通状态。如果是,则你可以继续你的处理,否则不用再调用closeServer() ,直接退出做其它处理就可以了。

解决方案 »

  1.   

    我试过了 
    如果是FTP服务器自己断掉的话 调用FTPClient.serverIsOpen方法恒返回true
    好象FTPClient.serverIsOpen方法一定要自己显示调用FTPClient.closeServer() 它才会返回false..
    所以郁闷得不行
      

  2.   

    在异常情况下,FTPClient长时间没有响应并不是在和系统抢什么资源,而是该进程在连接远程已经关闭的服务器。你可以采用其它方法,比如设置连接超时时间等,以控制FtpClient查找服务器不要过长,如果超时则直接返回错误。
      

  3.   

    问题出在我只能调用FTPClient.closeServer()这个方法 
    我怎么设置超时时间呢?
    这个方法它返回不了啊