2013-12-01 5 views
1

Исходная строка имеет разрывы строк. Я сохраняю строку в одном действии и извлекаю ее в другую.Разрывы строк теряются при сохранении строки во внутреннем хранилище и ее извлечении. Как сохранить разрывы строк?

Вот код я использую для записи во внутренней памяти

try { 
      OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput(FILENAME, Context.MODE_PRIVATE)); 
      outputStreamWriter.write(strText); 
      outputStreamWriter.close(); 
     } 
     catch (IOException e) { 
      Log.e("Exception", "File write failed: " + e.toString()); 
     } 

Вот код, который я использую для чтения

InputStream inputStream = openFileInput(FILENAME); 

       if (inputStream != null) { 
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream); 
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 
        String receiveString = ""; 
        StringBuilder stringBuilder = new StringBuilder(); 

        while ((receiveString = bufferedReader.readLine()) != null) { 
         stringBuilder.append(receiveString); 
        } 

        inputStream.close(); 
        ret = stringBuilder.toString(); 
       } 
      } 
      catch (FileNotFoundException e) { 
       Log.e("login activity", "File not found: " + e.toString()); 
      } catch (IOException e) { 
       Log.e("login activity", "Can not read file: " + e.toString()); 
      } 

      SomeArray.add(ret); 

код работает только проблема в том, что им теряют разрывы строк.

ответ

2

Я установил ее, изменив время цикла на

while ((receiveString = bufferedReader.readLine()) != null) { 

         ret += receiveString + "\n"; 
        } 
+0

Спасибо за размещение решения, получал несколько ошибок без объяснения причин для этого. Все были решены. – Florida

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