public void ftpdown() {
    Socket mess_Socket,data_Socket;
    PrintWriter mess_out = null; //消息端口输出信息流
    BufferedReader mess_in=null;//消息端口输入信息流
    DataInputStream in = null; //数据端口输入流
    RandomAccessFile fileStream;//保存文件流
    String line=null;    try {
      mess_Socket = new Socket(host, mess_port);
      mess_out=new PrintWriter(mess_Socket.getOutputStream());
      mess_in=new BufferedReader(new InputStreamReader(mess_Socket.getInputStream()));
    while((line=mess_in.readLine())!=null){
      System.out.println(line);
       }
     mess_out.println("USER "+user);//使用user帐号名登陆服务器
     .......
    }
    catch (UnknownHostException ex) {
      }
    catch (IOException ex) {
  
    }
  }
    以上代码能够返回FTP服务器的欢迎信息后,就停留在while循环内,直到超时,服务器断开连接,后面的发送登陆信息根本不执行!我想肯定是=null的判断条件有错,但到底FTP服务器的信息是以什么结束,该怎么写,请教各位了!(不要告诉我用FtpClient内,我要实现多线程下载)谢谢~

解决方案 »

  1.   

    220---?????¡ì??¨¬3??¨¨¨ª?t?????DD???--
    220-?a?a?a?a?a?a?a?a?a?a?a?a?a
    220-??¨®-?¨²¡ê?¨¤¡ä¡Á?61.51.130.20¦Ì??¨®¨®?¡ê?: )
    220-?a?a?a?a?a?a?a?a?a?a?a?a?a
    220--¡À???2??¨ºD¨ª????¨®??¡ì¦Ì????¡ê
    220-?a?a?a?a?a?a?a?a?a?a?a?a
    220--¡Á¡§??o?????¨®??¡ì¨®??¡ì2??3¨¬¡ê?2??T?¨´?¡ê
    220-?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a
    220--??????o?¨¦¨º?????¨º??
    220-?a?a?a?a?a?a?a?a?a?a
    220--http://bbs.downsurf.com ??1???????
    220-?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a
    220--¨¦???/¡Á¡§¨®??¨ºo?D¨¨¨®?1¨¹¨¤¨ª?¡À¨¢a?¦Ì?¡ê
    220-?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a
    220-- Ftp://soft.downsurf.com
    220-?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a
    220-?? ???¨²¨º¡À??¨º?Thursday 29 July, 2004 12:40:48 ???¡ê
    220-?? ¡À?FTP¡¤t???¡Â¨°??-??DD¨¢? 2 ¨¬¨¬¡ê?1 D?¨º¡À o¨ª 12 ¡¤??¡ê
    220-?? ?¨´¨®D¦Ì???¨®??¡ì¨ºy¨¢?¡êo 225071 total
    220-?? ¦Ì¡À?¡ã¦Ì???¨®??¡ì¨ºy¨¢?¡êo 36
    220-?? ??2?????¨¢?:76650138 Kb 
    220-?? ???¨´?????¨´?¨¨?a:432.734 Kb/??
    220-?? ¦Ì¡À?¡ã¦Ì??????¨´?¨¨:487.849 Kb/??
    220-?? ¨¢a?¨²¨º¡À??:0¡¤?0??
    220 ?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a220没有“-”表示它是结束行