bufferedReader.readLine在Android中的IF中不起作用

时间:2016-04-08 00:00:20

标签: java android io android-5.1.1-lollipop

我在写Android。应用程序应从Web读取文件的行,并在textView上显示该消息。我使用bufferedReader。当我在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中复制了这个东西。它工作正常。我真的不知道。

1 个答案:

答案 0 :(得分:0)

解决。

在连接后添加result += "\n\n\n\n";将使内容显示。我认为这与UI有关,也许我的textView被阻止了几行或诸如此类的东西。