2014-02-24 206 views
2

我有FTP端口为:ftp://173.201.0.1/的java.net.UnknownHostException无法连接到FTP

我想通过它连接如下:

String Ftp_Path = "ftp://173.201.0.1/"; 


    public List<String> GetFileList() 

    { 
     String ftpServerIP = Ftp_Path; 
     String ftpUserID = Ftp_UserName; 
     String ftpPassword = Ftp_Password; 

     FTPFile[] downloadFiles = null; 

     StringBuilder result = new StringBuilder(); 
     FTPClient ftp = new FTPClient(); 
     List<String> xlsFiles = null; 

     try { 
      ftp.connect(Ftp_Path); 
      ftp.login(ftpUserID, ftpPassword); 

      downloadFiles=ftp.listFiles(); 

      xlsFiles = new ArrayList<String>(); 
      for(FTPFile i : downloadFiles) { 
       if(i.toString().endsWith(".xls")) { 
        xlsFiles.add(i.toString()); 
       } 
      } 


     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

     return xlsFiles; 

    } 

但我在网上收到错误:

ftp.connect(Ftp_Path); 

以下是错误。

java.net.UnknownHostException: ftp://173.201.0.1/ 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at java.net.Socket.<init>(Unknown Source) 
    at org.apache.commons.net.DefaultSocketFactory.createSocket(DefaultSocketFactory.java:92) 
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:201) 
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:289) 
    at com.amazonaws.mws.samples.ImportRulesPropertyClass.GetFileList(ImportRulesPropertyClass.java:33) 
    at com.amazonaws.mws.samples.ManageReportScheduleSample.main(ManageReportScheduleSample.java:74) 

Plase帮助我。

我是新来的java。

+2

只使用主机名 – user432

+1

尝试没有协议前缀尝试过吗? 'String Ftp_Path =“173.201.0.1”;' –

+1

使用'173.201.0.1'而不是'ftp:// 173.201.0.1 /' 正如例子http://commons.apache.org/proper/commonsnet /apidocs/org/apache/commons/net/ftp/FTPClient.html –

回答

5

你只需要指定IP.The FTPClient使一个ftp request.It是不是类似于HTTP request.Just改变

String Ftp_Path = "ftp://173.201.0.1/"; 

to 

String Ftp_Path = "173.201.0.1"; 

同时检查FTP端口是否启动和访问通过telnet

+0

Thanx,它的工作:) –

+0

@namo namo ..Lolz –

+0

兄弟,请求你来帮助这也http://stackoverflow.com/questions/21986121/java-lang-nullpointerexception-downloading-file-from-ftp-与-listfiles-方法 –