bufferedReader.readLine 在 Android 中的 IF 中不起作用
bufferedReader.readLine does not work within IF in Android
我在写Android。该应用程序应从网络读取文件行,并在 textView 上显示消息。我使用缓冲阅读器。当我在 while 循环中有 bufferedReader.readLine() 时,它工作正常。但是当我在 IF 语句中使用它时它不起作用(什么都不显示,尽管我在调试模式下看到了一些东西)。
@Override
protected String doInBackground(String... params) {
HttpURLConnection urlConnection = null;
String result = "";
try {
URL url = new URL("http://www.tc.umn.edu/~yang4131/jtest.json");
urlConnection = (HttpURLConnection) url.openConnection();
int code = urlConnection.getResponseCode();
if(code==HttpURLConnection.HTTP_OK){ // 200
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
if (in != null) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
String line = "";
/*
if((line = bufferedReader.readLine()) != null)
result += line;
if((line = bufferedReader.readLine()) != null)
result += line;
if((line = bufferedReader.readLine()) != null)
result += line;
*/
while ((line = bufferedReader.readLine()) != null)
result += line;
}
in.close();
}
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
urlConnection.disconnect();
}
return result; // this return statement is needed, no matter what
}
我在 Eclipse 中用本地文件在纯 Java 中复制了这个东西。它工作正常。我真的不知道。
已解决。
在拼接后加上result += "\n\n\n\n";
,内容就会出现。我认为这与 UI 有关,也许我的 textView 被阻塞了几行或诸如此类。
我在写Android。该应用程序应从网络读取文件行,并在 textView 上显示消息。我使用缓冲阅读器。当我在 while 循环中有 bufferedReader.readLine() 时,它工作正常。但是当我在 IF 语句中使用它时它不起作用(什么都不显示,尽管我在调试模式下看到了一些东西)。
@Override
protected String doInBackground(String... params) {
HttpURLConnection urlConnection = null;
String result = "";
try {
URL url = new URL("http://www.tc.umn.edu/~yang4131/jtest.json");
urlConnection = (HttpURLConnection) url.openConnection();
int code = urlConnection.getResponseCode();
if(code==HttpURLConnection.HTTP_OK){ // 200
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
if (in != null) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
String line = "";
/*
if((line = bufferedReader.readLine()) != null)
result += line;
if((line = bufferedReader.readLine()) != null)
result += line;
if((line = bufferedReader.readLine()) != null)
result += line;
*/
while ((line = bufferedReader.readLine()) != null)
result += line;
}
in.close();
}
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
urlConnection.disconnect();
}
return result; // this return statement is needed, no matter what
}
我在 Eclipse 中用本地文件在纯 Java 中复制了这个东西。它工作正常。我真的不知道。
已解决。
在拼接后加上result += "\n\n\n\n";
,内容就会出现。我认为这与 UI 有关,也许我的 textView 被阻塞了几行或诸如此类。