本人写了一段程序
程序1:
ftpClient.openServer();
ftpClient.login
ftpClient.binary();
下载第一个文件
in = ftpClient.get(...);
...保存文件操作
int code = ftpClient.readServerResponse();
下载第二个文件
in = ftpClient.get(...);   -----问题1:按照这样的执行,程序在这里就停住了,无出错,就一直停着,为什么啊?closeServer也不可以,停这
...保存文件操作
int code = ftpClient.readServerResponse();如果我把int code = ftpClient.readServerResponse();去掉
问题就没有了,但是ftpClient.closeServer();的时候又出现
sun.net.ftp.FtpProtocolException: Error reading FTP pending reply
at sun.net.ftp.FtpClient.issueCommand(FtpClient.java:189)
at sun.net.ftp.FtpClient.closeServer(FtpClient.java:168)
假设我把程序1:int code = ftpClient.readServerResponse();改换成getResponseString(),那问题1没有,但依然出现上面的Exception
根据apache的ftp的源代码,发现必须要等待server的response结束,才可以继续下次的命令(下载,上传等命令),那上面的程序就应该可以啊,可为什么呢?

解决方案 »

  1.   

    还有个问题
    ftpClient.list()返回的是ftp的文件列表,在windows的文件日期是以MM-dd-yy hh:mm的显示,可在日文solaris下以
    -rwxr--r--   1 root     root     1048576 12Ô  9ÈÕ 04:58 1-1M.log显示,为什么没有年啊?而且还是乱码(这里应该是编码问题),我已经查过apache的源程序,不过他们的也不对,是不是只支持英文系统啊,呵呵,我已经无语了!有人遇到的麻烦说下,谢了,不会是solaris设置不对吧。
      

  2.   

    没用过这个组件,以前做过FTP,但都是自己发送、解析命令
      

  3.   

    楼上的,那是不是我们设置的solaris的ftp不对啊,不然怎么没年啊,而且月,日还是乱码