2012-02-10 112 views
-1

我有一個家庭作業,我必須從一個文件加載代碼行並將它們輸出到日誌貓中。以下是我的代碼:從URL讀取時遇到問題(Android)

private void readFromURL (String requestedURL){ 

    try { 
     URL myurl = new URL (requestedURL); 
     InputStream mystream = myurl.openStream(); 
     Scanner myscan = new Scanner (mystream); 

     while (myscan.hasNextLine()) { 
      String aLine = myscan.nextLine(); 
      Log.d ("works", aLine); 
     } 
    } 
    catch (MalformedURLException oops) { 
       Log.d ("ERROR" , "Are you sure the URL is correct?" + oops); 
    } 
    catch (IOException oops_again) 
    { 
       Log.d ("ERROR", "Can't access the remote resource: " + oops_again); 
    } 
} 

readFromURL方法是通過單擊按鈕來調用的。每當我運行應用程序時,我都會得到IOException,它會顯示「無法訪問遠程資源:」。在日誌貓。

的URL,我試圖抓住信息從爲:http://www.cis.gvsu.edu/~dulimarh/CS163H/courses.cgi

我加入互聯網清單中的權限。

感謝您的幫助!

回答

0

使用以下方法來獲取數據的InputStream做你需要的東西:

private InputStream downloadUrl(String url) { 
    HttpURLConnection con = null; 
    URL url; 
    InputStream is=null; 
    try { 
    url = new URL(url); 
    con = (HttpURLConnection) url.openConnection(); 
    con.setRequestMethod("GET"); 
    con.setDoInput(true); 
    // Start the query 
    con.connect(); 
    is = con.getInputStream(); 
    }catch (IOException e) { 
    //handle the exception ! 
    e.printStackTrace(); 
    } 
    return is; 
} 

利用這一點,你應該能夠呼應使用Log.dInputStream每一行 - 你應該能夠找出那部分;)

+0

感謝您的幫助,但是我需要使用readFromURL方法來滿足實驗室要求。 – 2012-02-10 18:17:11

+0

@AdamJakiela是的,我意識到這一點。我具體_沒有糾正你的方法的原因是因爲你需要_learn_(你自己)出了什麼問題。我們不在這裏爲你在Stack Overflow上做你的功課:)如果你按照我發佈的邏輯進行操作,你會發現答案很簡單。 – 2012-02-10 18:19:55