gpt4 book ai didi

java - url.openStream() 仅针对一个 url 给出 NullPointerException

转载 作者:太空狗 更新时间:2023-10-29 13:21:31 27 4
gpt4 key购买 nike

请不要将其标记为重复,因为我在发布之前已经搜索过 Stackoverflow,并找到了这个解决方案,

url.openstream() or urlconnection.getinputstream() raise nullpointerexception on valid URL

但这个解决方案也不起作用。

问题是我正尝试在这个 url 上 openStream > http://www.techworld.com/security/rss 我的 Android 应用程序。

但它总是给出 NullPointerException

我先检查连接,看是否连接成功,

connection.getResponseCode();

它返回 200 所以连接正常。

然后根据可用的解决方案,我将 JRE 版本从 1.7 更改为 1.6,但仍然不起作用。

当我尝试 openStream 其他 url 时,它们使用相同的代码绝对可以正常工作,但上面的链接给出了 NPE

这是代码,

URL mylink = new URL ("http://www.techworld.com/security/rss");

HttpURLConnection connection;
connection = (HttpURLConnection) myLink.openConnection();
connection.connect();

if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
try {
domObject = new DOM(myLink.openStream());
domObject.start();

} catch (Exception e) {
Log.e(TAG,e+" " + host);
}
}

在上面的代码中,host = myLink.getHost();

还有一件事我想提一下,当我将此代码作为 Java 项目而不是 Android 项目运行时,它会加载查找并且不会抛出 NPE

这可能是什么问题?

这是logCat,只显示一行错误,

01-21 20:46:11.575: E/testApp(30335): java.lang.NullPointerException www.techworld.com

最佳答案

至少这段代码有效:

URL url;
try {
url = new URL("http://www.techworld.com/security/rss");
HttpURLConnection httpURLConnection;
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.connect();
if (httpURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
StringBuffer stringBuffer = new StringBuffer();
try {
String inputLine;
while ((inputLine = bufferedReader.readLine()) != null) {
stringBuffer.append(inputLine).append("\n");
}
} finally {
bufferedReader.close();
}

System.out.println(stringBuffer.toString());
}
} catch (IOException e) {
e.printStackTrace();
}

我认为您的代码尝试打开连接两次。当第一个连接未关闭时,您尝试连接另一个 myLink.openStream()。仅使用 connection.getInputStream() 可能会更好。

关于java - url.openStream() 仅针对一个 url 给出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28071546/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com