附加文本不起作用

本文关键字:不起作用 文本 | 更新日期: 2023-09-27 18:34:32

所以我正在尝试制作一个程序来计算您的BMI并将其保存到文件中。我尝试使用这样的appendtext

StreamWriter logboekBMI = new StreamWriter(path + "Logbmi.txt");
logboekBSA.Close();
logboekBMI = File.AppendText(path + "Logbmi.txt");
logboekBMI.WriteLine("BMI: " + bmi.getBMI());
logboekBMI.Close();

我将文件读到如下所示的文本框中:

StreamReader logbmi = new StreamReader(path + "Logbmi.txt");
txtLogboek.Text = logbmi.ReadToEnd();

它会删除文件中已有的行并插入新行。它从不追加。

附加文本不起作用

如果我正确理解了这个问题,您希望将文本写入文件而不覆盖任何已经存在的文本。

在这种情况下,您需要像这样定义StreamWriter

StreamWriter logboekBMI = new StreamWriter(path + "Logbmi.txt", true);

true 参数表示要将文本追加到文件中。没有它,您每次创建新StreamWriter时都会覆盖该文件。

对于您想要执行的操作而言,您的代码似乎过于复杂。您只需要两行代码,一行用于保存文本,另一行用于阅读文本。

保存文本:文件.追加全部文本

打开一个文件,将指定的字符串追加到该文件,然后关闭该文件。如果该文件不存在,此方法将创建一个文件,将指定的字符串写入该文件,然后关闭该文件。

File.AppendAllText("C:'path'to'file'Logbmi.txt", "The BMI to add");

 
阅读文本:文件.全部阅读文本

打开一个文本文件,将该文件的所有行读入字符串,然后关闭该文件。

txtLogboek.Text = File.ReadAllText("C:'path'to'file'Logbmi.txt");