InputStream 不会打开到指定 URL 的流
Posted
技术标签:
【中文标题】InputStream 不会打开到指定 URL 的流【英文标题】:InputStream won't open a stream to a specified URL 【发布时间】:2011-12-29 20:34:32 【问题描述】:我只是想将一个 URL 加载到 InputStream 中,但它似乎永远无法管理。
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 异常。我所知道的世界上没有最好的错误消息。
【问题讨论】:
使用e.printStackTrace
而不是System.out.println
以获得更有用的错误消息
你确定你的应用有权限 那么它是否会突破到其中一个异常?如果无法打开文件,则会跳到catch语句
编辑:实际上您是在尝试加载网页吗?
【讨论】:
是的,它正在被 IOException 捕获 您传递给它的字符串值有问题。你想做什么? 我正在尝试将网页内容加载到字符串中。如果 URL 不正确,那么我应该能够将 myFileUrl 设置为 http://www.google.com 和然后它应该可以工作。我测试了它,但它仍然做同样的事情。 你看过它抛出了什么异常 请求时间失败:java .net .SocketException 地址族不受协议支持【参考方案2】:一般来说,代码运行良好。
所以你的网络连接肯定有问题。您是直接连接到互联网还是必须通过代理?
【讨论】:
我猜你正在用模拟器测试,不是吗?在这种情况下,您应该尝试重新创建一个新的 AVD。 (“您是否尝试过将其关闭再打开?”——IT 人群)以上是关于InputStream 不会打开到指定 URL 的流的主要内容,如果未能解决你的问题,请参考以下文章