Контент Чтения Android URL (содержание, отсутствующее после в результате)

У меня есть следующий код, который читает содержание URL

public static String DownloadText(String url){
    StringBuffer result = new StringBuffer();
    try{
        URL jsonUrl = new URL(url);

        InputStreamReader isr  = new InputStreamReader(jsonUrl.openStream());

        BufferedReader in = new BufferedReader(isr);

        String inputLine;

        while ((inputLine = in.readLine()) != null){
            result.append(inputLine);
        }
    }catch(Exception ex){
        result = new StringBuffer("TIMEOUT");
        Log.e(Util.AppName, ex.toString());
    }
        in.close();
        isr.close();
    return result.toString();
}

Проблема, я пропускаю содержание после 4 065 символов в возвращенном результате. Может кто-то помогать мне решить эту проблему.

Примечание: URL, который я пытаюсь считать, содержит json ответ, таким образом, все находится в одной строке, я думаю вот почему, что у меня есть немного довольные пропавшие без вести.

8
задан Janusz 18 March 2010 в 09:05
поделиться

1 ответ

Попробуйте следующее:

try {
  feedUrl = new URL(url).openConnection();
} catch (MalformedURLException e) {
  Log.v("ERROR","MALFORMED URL EXCEPTION");
} catch (IOException e) {
  e.printStackTrace();
}
try {
  in = feedUrl.getInputStream();
  json = convertStreamToString(in);
}catch(Exception e){}

в то время как convertStreamToString:

private static String convertStreamToString(InputStream is) throws UnsupportedEncodingException {
  BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
  StringBuilder sb = new StringBuilder();
  String line = null;
  try {
    while ((line = reader.readLine()) != null) {
      sb.append(line + "\n");
    }
  } catch (IOException e) {
    e.printStackTrace();
  } finally {
    try {
      is.close();
  } catch (IOException e) {
    e.printStackTrace();
  }
}
return sb.toString();
 }
10
ответ дан 5 December 2019 в 12:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: