附录不起作用

时间:2016-02-12 16:58:31

标签: c# filestream

所以我试图制作一个计算并将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();

删除文件中已有的行并插入新行。它永远不会附加。

2 个答案:

答案 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");