2011-11-15 15 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