本文介绍了安卓的HttpURLConnection的getInputStream引发NullPointerException异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从这个网址下载图片:
I am trying to download the image from this url:
的
下面是堆栈跟踪:
03-21 12:58:04.040: W/System.err(7084): java.lang.NullPointerException
03-21 12:58:04.040: W/System.err(7084): at libcore.net.http.HttpConnection$Address.hashCode(HttpConnection.java:343)
03-21 12:58:04.045: W/System.err(7084): at java.util.HashMap.get(HashMap.java:298)
03-21 12:58:04.050: W/System.err(7084): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:67)
03-21 12:58:04.050: W/System.err(7084): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
03-21 12:58:04.050: W/System.err(7084): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
03-21 12:58:04.055: W/System.err(7084): at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:460)
03-21 12:58:04.055: W/System.err(7084): at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:432)
03-21 12:58:04.055: W/System.err(7084): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
03-21 12:58:04.060: W/System.err(7084): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
03-21 12:58:04.065: W/System.err(7084): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
03-21 12:58:04.065: W/System.err(7084): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
03-21 12:58:04.070: W/System.err(7084): at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:270)
03-21 12:58:04.070: W/System.err(7084): ...
code:
code:
URL imageUrl = new URL(url);
HttpURLConnection c = (HttpURLConnection)imageUrl.openConnection();
InputStream in = c.getInputStream(); // Nullpointer exception on this line, c is definitely not null, I debugged
想不通为什么它被抛出NullPointerException异常。上述网址并在浏览器中运行。
Can't figure out why it is throwing NullPointerException. The above url does work in the browser.
推荐答案
由于怀疑问题是与URL的Amazon S3的主机名。
As suspected issue was with host name of url of amazon s3.
让我改变了
的
到
的
和它的工作。我的Java code是幸福吧!
and it worked. My Java code is happy now!
这篇关于安卓的HttpURLConnection的getInputStream引发NullPointerException异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!