新行命令("\n")在读取文件时不起作用(Android)java

sem*_*ldi -1 java string command-line android file

      String mystring="Hello"+"\n"+ "World" ;

        writeToFile(mystring);
        String newstring = readFromFile();
        mytextview.setText(newstring);
Run Code Online (Sandbox Code Playgroud)

我的文本视图只显示没有换行符的"HelloWorld"

我无法理解为什么它不承认"\n"

这些是我的writetofile和readfromfile函数;

private void writeToFile(String data) {
         try {
         OutputStreamWriter outputStreamWriter = new OutputStreamWriter(openFileOutput("myfilename", Context.MODE_PRIVATE));
         outputStreamWriter.write(data);
         outputStreamWriter.close();
         }
         catch (IOException e) {
        // Log.e(TAG, "File write failed: " + e.toString());
         }
         }


    //////////////////////////////////////////////////
    private String readFromFile() {
         String ret = "";

         try {
         InputStream inputStream = openFileInput("myfilename");

         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(TAG, "File not found: " + e.toString());
         } catch (IOException e) {
        // Log.e(TAG, "Can not read file: " + e.toString());
         }
         return ret;
         }
Run Code Online (Sandbox Code Playgroud)

我想要做的是将一个字符串保存到手机的内部存储器并读回相同的字符串.

Su-*_*ang 5

您正在使用BufferedReader,请查看readLine()的文档:

返回此阅读器提供的下一行文本.一行由零个或多个字符表示,后跟'\n','\ r',"\ r \n"或读者的结尾.该字符串不包含换行符序列.

你可以在while循环中手动添加它,或者使用另一个readXYZ方法.