2011-07-12 113 views
0

我是android新手,我使用下面的代碼從FTP下載XML文件。它在Java中工作正常。但是在Android中它無法連接到FTP它給出以下異常。如何在android下載xml文件?

java.io.IOException: Unable to connect to server: Unable to retrieve file: 550 

我已經在清單文件中包含了Internet權限標籤。我怎樣才能

XML File(manifest file)

<uses-permission android:name="android.permission.INTERNET" /> 

Java Files

 protected void testFTP() throws Exception { 
     final String localfile = "/data/data/com.itwine/files/index.xml"; 
     final String targetfile = "index.xml"; 
     final String host = "ftp.qualityinaction.net/QIA/Questions/Airlines"; 
     final String user = "qualityinaction.net"; 
     final String password = "password"; 
     try 
     { 
      URL url = new URL("ftp://"+ user+ ":"+ password+ "@"+ host + "/"+ 
        targetfile+ ";type=i"); 
          URLConnection urlc = url.openConnection(); 
          urlc.setDoOutput(true); 
          // the following line throws "unable to connect to host {0}" 
          OutputStream os = urlc.getOutputStream(); 
          FileInputStream is= new FileInputStream(localfile); 

         byte[] buf= new byte[16384]; 
         int c; 
         while (true) { 
           c= is.read(buf); 
           if (c<= 0) break; 
           os.write(buf, 0, c); 
         } 
         os.close(); 
         is.close(); 
         urlc = null; // close 
     } 
     catch(Exception e) 
     { 
      Log.e("Exception", e.toString()); 
     } 

} 

Exception list*

java.io.IOException異常:無法連接到服務器:無法檢索文件:550

+0

的只是想指出你離開你的密碼很難在你的問題編碼。如果那是敏感的信息,那麼這是可信的。 – Graeme

+0

我認爲5 **是服務器端錯誤。 –

+0

但通過瀏覽器我可以訪問服務器,這個代碼在Android中的作品? –

回答

0

編輯:

你現在提出可能無法與所有服務器工作的方法,它是在這裏修改後的(也有采用額外的庫解決方案):

Download from ftp

或我發現怎麼做,與意圖,但我沒有測試任何這些解決方案

Download using intent

+0

謝謝對於響應,它會通過一個異常不是一個HTTP連接後,它不會執行HttpURLConnection httpConn =(HttpURLConnection)conn它會跳轉到catch塊如何解決這個請幫我 –

+0

顯示你現在的代碼和完整的堆棧跟蹤例外情況會很好。 – porkshire

+0

完整的堆棧跟蹤是(沒有顯式的返回值) –