附加文本不起作用
本文关键字:不起作用 文本 | 更新日期: 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");