本帖最后由 heshuzhen1931 于 2009-10-25 16:32:55 编辑

解决方案 »

  1.   

    还有我只知道在客户端每发送一个命令,在服务端用PrintWriter out=new PrintWriter(Socket.getOutputStream()); out.println("XXXXXXX");类就会返回相应的字符串信息。
    如果在客户端只是发送一条命令,并且用FtpClient.getResponseString();方法连续两次取得返回值的话,是一样的。好像命令和返回值是发一条命令就会有一条返回信息,在发下一条命令前,无论取多少次都是一样的返回信息。
      

  2.   

    本人有一个比较笨的方法,希望帮到忙:
    注意这里是使用:sun.net.ftp的//获取文件大小
         int fileSize = -1;
         ftpclient.sendServer("SIZE "+SourceFileName+"\r\n");
         int res = ftpclient.readServerResponse();//z注意:这里的组合使用是必须得  sendServer 后到 readServerResponse 
            if(res==213){
             String msg= ftpclient.getResponseString();
             try{
             fileSize = Integer.parseInt(msg.substring(3).trim());
             }
             catch(Exception ex){;}
            }
    SourceFileName 就是在FTP服务器上的文件,例如:/top/001.txt 大小,1024b
    而调用ftpclient.getResponseString() 会返回以下信息:213 1024