2011-11-11 56 views
1

我正在處理一個API,它返回一個包含多個XML文件的zip文件,我必須在解壓zip文件後分別進行解析。Android從API下載郵編和存儲在SD卡

這裏是鏈接爲(將下載的zip文件):

http://clinicaltrials.gov/ct2/results?term=&recr=&rslt=&type=&cond=&intr=&outc=&lead=&spons=&id=&state1=&cntry1=&state2=&cntry2=&state3=&cntry3=&locn=&gndr=Female&age=0&rcv_s=&rcv_e=&lup_s=&lup_e=studyxml=true

這裏是我當前的代碼保存壓縮文件的SD卡:

File root = Environment.getExternalStorageDirectory(); 
String url= "http://clinicaltrials.gov/ct2/results?term=&recr=&rslt=&type=&cond=&intr=&outc=&lead=&spons=&id=&state1=&cntry1=&state2=&cntry2=&state3=&cntry3=&locn=&gndr=Female&age=0&rcv_s=&rcv_e=&lup_s=&lup_e=xml=true"; 


try { 

    HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); 
    conn.setDoInput(true); 
    conn.setConnectTimeout(10000); // timeout 10 secs 
    conn.connect(); 
    InputStream input = conn.getInputStream(); 

    FileOutputStream fOut = new FileOutputStream(new File(root, "new.zip")); 
    int byteCount = 0; 
    byte[] buffer = new byte[4096]; 
    int bytesRead = -1; 
    while ((bytesRead = input.read(buffer)) != -1) { 

     fOut.write(buffer, 0, bytesRead); 
     byteCount += bytesRead; 

    } 
    fOut.flush(); 
    fOut.close(); 

} catch (Exception e) { 

    e.printStackTrace(); 

} 

問題: New.zip文件正在SD卡中創建,但它似乎沒有下載也是文件大小爲0kb。 我的代碼是否正確,或者我必須使用別的方法來處理zip文件。

編輯解決:

我感到非常遺憾的API鏈接無效...它應該是

http://clinicaltrials.gov/ct2/results?term=&recr=&rslt=&type=&cond=&intr=&outc=&lead=&spons=&id=&state1=&cntry1=&state2=&cntry2=&state3=&cntry3=&locn=&gndr=Female&age=0&rcv_s=&rcv_e=&lup_s=&lup_e=&studyxml=true

& studtxml之前,需要..

日Thnx每1快速響應..

+0

你的url zip文件名是否包含任何空格? – user370305

+0

你在logcat中發現任何異常嗎? – Arslan

回答

1

也有一些是錯誤或者在您的.zip文件的網址.zip文件大小(0字節大小),因爲如果我們從網絡瀏覽器下載這個.zip文件(來自您給出的URL),那麼它也會以0字節大小下載。

Downloaded .zip file URL

1
+0

是的,這似乎是問題,我會盡快檢查它,我想提供給我的api鏈接是錯誤的。 Thanx快速回復guyzz .. @ user370305 – ZealDeveloper

相關問題