簡體   English   中英

將字符串保存到內部存儲並檢索它時,換行符會丟失。 如何保留換行符?

[英]Line breaks are lost when saving a string to internal storage and retrieving it. How do I preserve line breaks?

原始字符串有換行符。 我將字符串保存在一個活動中並在另一個活動中檢索它。

這里是我用來寫入內部存儲的代碼

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);

代碼工作的唯一問題是我失去了我的換行符。

我通過改變while循環來修復它

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

                        ret += receiveString + "\n";
                    }

readLine剝離結束字符: http//docs.oracle.com/javase/6/docs/api/java/io/BufferedReader.html#readLine()

使用read方法一次以合理的塊讀取文件並連接這些塊。 終點線將以這種方式保留。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM