2011-11-15 37 views
3

我只是試圖加載一個URL到InputStream,但它似乎從來沒有管理。InputStream不會打開一個流到指定的URL

private void getWebpage(String url) 
{ 
    URL myFileUrl = null; 

    try 
    { 
     myFileUrl= new URL(url); 
    } 
    catch (MalformedURLException e) 
    { 
     System.out.println("Malformed URL Exception"); 
    } 
    catch (Exception e) 
    { 
     System.out.println("Some URL Exception"); 
    } 

    try 
    { 
     InputStream in = myFileUrl.openStream(); 
     System.out.println("Does it get here?"); 
     is = new BufferedInputStream(in); 
     in.close(); 
     is.close(); 
    } 
    catch (IOException e) 
    { 
     System.out.println("Some IO Exception"); 
    } 
    catch (Exception e) 
    { 
     System.out.println("Some Exception"); 
    } 
} 

它從不打印出「它到了嗎?」到控制檯,但它確實打印出一些IO異常。世界上沒有最好的錯誤信息我知道。

+1

使用'e.printStackTrace'而不是'System.out.println'獲得更有用的錯誤信息 – Craigy

+0

您確定您的應用程序擁有? – dymmeh

+0

我的清單文件中有用戶權限行。 – RichardG

回答

0

這是突然​​發生的例外之一,然後呢?如果它不能打開文件,那麼它會跳到catch語句

編輯:其實你想加載一個網頁?

+0

是的,它正在被IOException捕獲 – RichardG

+0

您傳遞給它的字符串值有問題。你想要做什麼? – Chris

+0

我想加載一個網頁的內容到一個字符串。如果URL不正確,那麼我應該能夠將myFileUrl設置爲類似於http:// www.google.com的東西,然後它應該可以工作。我測試了它,但它仍然做同樣的事情。 – RichardG

0

通常,代碼工作正常。

因此,您的網絡連接必須有問題。你有與互聯網的直接連接,還是你必須通過代理?

+0

它是直接連接。 – RichardG

+1

我猜你正在用模擬器測試,不是嗎?在這種情況下,您應該嘗試重新創建一個新的AVD。 (「你試過關掉它嗎?」 - IT人羣) – Wintermute