Android Studio - HttpUrlConnection 和 BufferedReader 没有读取所有内容?

Android Studio - HttpUrlConnection & BufferedReader doesn't read everything?

因此,当 运行将此代码放在较小的页面上时,运行 没问题。但是当我 运行 它在更大的页面(例如 Whosebug 或其他任何页面)上时,它没有在字符串结果中获得完整的源代码。有什么我没有考虑或做错事的人吗?谢谢!

示例:对于 Whosebug,它停在源代码的第 35 行只有几个字符,而不是 3000 多行代码。

日志的最后一行:

StackExchange.using("gp

我的代码:

protected void runItNow(View v){
    Log.i("INSIDE: ", "runItNow");

    DownloadTask downloadTask = new DownloadTask();
    String result;
    try {
        result = downloadTask.execute("http://www.whosebug.com/").get();


    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }


}

private class DownloadTask extends AsyncTask<String, Void, String>{

    @Override
    protected String doInBackground(String... params) {
        URL url;
        HttpURLConnection urlConnection;

        try{

            url = new URL(params[0]);
            urlConnection = (HttpURLConnection) url.openConnection();

            InputStream in = urlConnection.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            urlConnection.setConnectTimeout(250000);

            int data;
            char[] buffer = new char[4096];
            StringBuilder builder = new StringBuilder();

            while ((data = reader.read(buffer)) != -1){
                builder.append(buffer, 0, data);
            }

            String results = builder.toString();
            Log.i("Results: ", results);


            in.close();
            reader.close();
            urlConnection.disconnect();
            return results;


        }catch(Exception e){
            e.printStackTrace();
        }

        return null;
    }
}

您是否仅使用 Log.i("Results: ", results); 检查输出? Logcat 可能正在删除其余字符。尝试将其写入文件并检查其内容。