所以我试图制作一个计算并将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();
删除文件中已有的行并插入新行。它永远不会附加。
答案 0 :(得分:1)
如果我正确理解了这个问题,您希望将文本写入文件而不会覆盖任何已存在的文本。
在这种情况下,您需要定义StreamWriter
,如此:
StreamWriter logboekBMI = new StreamWriter(path + "Logbmi.txt", true);
true
参数表示您要将文本附加到文件中。没有它,每次创建新的StreamWriter
时都会覆盖文件。
答案 1 :(得分:0)
您的代码似乎过于复杂,无法实现您的目标。您只需要两行代码,一行用于保存文本,另一行用于读取。
保存文字:File.AppendAllText
打开文件,将指定的字符串附加到文件,然后关闭该文件。如果文件不存在,则此方法创建文件,将指定的字符串写入文件,然后关闭文件。
File.AppendAllText("C:\path\to\file\Logbmi.txt", "The BMI to add");
阅读文字:File.ReadAllText
打开文本文件,将文件的所有行读取为字符串,然后关闭文件。
txtLogboek.Text = File.ReadAllText("C:\path\to\file\Logbmi.txt");