当我尝试在文件中创建新行时,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();`
我创建了一个打印某行数据的文件,我需要它在新行中重复执行此操作。然后我想把它放在一个文本视图中。但是,当我尝试使用“\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();`