当我尝试在文件中创建新行时,TextView 仅查看最后一行

TextView only views the last line when I try to create a new line in a file

我创建了一个打印某行数据的文件,我需要它在新行中重复执行此操作。然后我想把它放在一个文本视图中。但是,当我尝试使用“\n \r”或打印 ln 在新行中打印它时,它只查看一行数据而不是所有数据。

我什么都试过了,我知道覆盖数据不是问题,因为如果我不创建新行它就可以工作。它只是没有空格,这对我来说毫无意义。

这是文件创建代码

PrintWriter output = null;
    File file = new File(getApplicationContext().getFilesDir(), "past.txt");
    output = new PrintWriter(new FileWriter(file, true));
    output.print(format_1 + " Overall positivity was " + sprog + "\n");
    output.close();

和 read/setText 部分。

try(BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(new File(getApplicationContext().getFilesDir(),"past.txt")),StandardCharsets.UTF_8))){

        String line;

        while ((line=br.readLine()) != null){
            results.setText(line);
        }

会不会是TextView本身的问题导致的?或者它是代码中的东西?

XML 的 textView

<TextView
    android:id="@+id/pastresults"
    android:layout_width="349dp"
    android:layout_height="402dp"
    android:layout_marginStart="8dp"
    android:layout_marginLeft="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginRight="8dp"
    android:layout_marginBottom="8dp"
    android:text="@string/textview"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.526"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.913"
    android:textSize="25sp"/> 

非常感谢您的帮助。

首先你需要构建一个StringBuffer,追加每个line

StringBuffer text= new StringBuffer();
String line="";
while ((line=br.readLine()) != null){
          text.append(line);
        }

最后设置变量

results.setText(text);

写入文件时使用它

PrintWriter output = null;
    File file = new File(getApplicationContext().getFilesDir(), "past.txt");
    output = new PrintWriter(new FileWriter(file, true));
    output.print(format_1 + " Overall positivity was " + "\n"+sprog);
    output.close();`