BufferedReader不能正常工作

时间:2016-06-14 12:10:58

标签: java android bufferedreader

使用BufferedReader加载以下网址,但未提供内容。即使普通浏览器可以显示内容。所以str将保持为零。知道为什么吗?

URL url = new URL("http://www.omdbapi.com/?t=zorr&y=&plot=short&r=json");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {}
Log.d("alma", str);

enter image description here

2 个答案:

答案 0 :(得分:1)

您忽略了您正在阅读的所有行。然后,当str变为null时,您将退出循环。因此,您的Log.d()来电始终会显示null

如果您想使用您正在阅读的行,请使用} 里面的`当前空的块:

str

您可能还希望考虑使用提供更简单API的第三方库。例如,OkHttp3使得从URL fairly easy获得字符串响应。

答案 1 :(得分:1)

试试这个:

URL url = new URL("http://www.omdbapi.com/?t=zorr&y=&plot=short&r=json");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
   Log.d("alma", str); // this should be here
}