2015-04-25 4 views
0

привет, я хочу прочитать большой удаленный файл в строку с использованием буферизованного reader.but, и я получил половину данных удаленного файла.Чтение больших файлов с использованием буферизованного считывателя в android

 BufferedReader reader = new BufferedReader(new InputStreamReader(
       inputstream),8*1024); 

     StringBuilder sb = new StringBuilder(999999); 
     String line; 

     while ((line = reader.readLine()) != null) { 
      Log.e("Line is ",line); 
      sb.append(line + "\n"); 
     } 
     is.close(); 
     json = sb.toString(); 
     Log.e("Content: ", sb.toString()); 

Как получить полные данные удаленного файла?

+0

Я * сильно * подозреваю, что проблема заключается только в том, что урезание журнала происходит. Попробуйте распечатать длину строки ... –

+0

Вы пытались сделать точку останова и проверить, что внутри? –

ответ

0

Кажется, что нет ничего плохого в вашем коде, но вы можете попробовать так:

private String ReceiveData(InputStream inputstream){ 

     StringBuilder sb = null; 
     BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputstream),8*1024); 
     sb = new StringBuilder(); 
     String str; 
     int numRead = 0; 

     try { 
      if (bufferedReader!=null) { 
       if (bufferedReader.ready()) { 

        try { 
         while ((numRead = bufferedReader.read()) >= 0) { 

          //convert asci to char and then to string 
          str = String.valueOf((char) numRead); 

          if ((str != null)&& (str.toString() != "")) { 

           sb.append(str); 
          } 

          if (!bufferedReader.ready()){ 
           //no more characters to read 
           break; 
          } 
         } 
        } catch (IOException e) { 
         e.printStackTrace(); 
        } catch (Exception e) { 
         e.printStackTrace(); 
        } 

        //loop exited, check for null 
        if (sb != null) { 
         return sb.toString(); 
        } 
       } 
      } 
     } 
     catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return ""; 
    } 

Надеется, что я помог.

Смежные вопросы