Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将一些数据作为文本添加到已有数据的文本文件中_C#_Winforms_Text - Fatal编程技术网

C# 如何将一些数据作为文本添加到已有数据的文本文件中

C# 如何将一些数据作为文本添加到已有数据的文本文件中,c#,winforms,text,C#,Winforms,Text,当我用C#编写winform代码时,我想在文本文件中添加一些数据。但当我检查文件时,它只有textboxno2文本。我知道我的密码错了。我怎么能做到?请帮帮我。 谢谢你的支持 //check file exsists string filePath = Application.StartupPath + "\\Text.txt"; if (!File.Exists("Text.txt")) File.Create("Text.txt&quo

当我用C#编写winform代码时,我想在文本文件中添加一些数据。但当我检查文件时,它只有textboxno2文本。我知道我的密码错了。我怎么能做到?请帮帮我。 谢谢你的支持

//check file exsists
string filePath = Application.StartupPath + "\\Text.txt";
if (!File.Exists("Text.txt"))
   File.Create("Text.txt").Close();

//insert text form textbox no1
using (StreamWriter text1 = new StreamWriter(filePath))
{
      text1.WriteLine(txtNo1.Text);
      text1.Close();
}

//insert text form textbox no2
using (StreamWriter text2 = new StreamWriter(filePath))
{
      text1.WriteLine(txtNo2.Text);
      text1.Close();
}

如果您知道的不多,最简单的方法是读取文本文件中的所有文本,然后用新文本再次写回

string oldtext = File.ReadAllText("yourfilepath");
File.WriteAllText("yourfilepath", String.Empty);
using (StreamWriter writer = new StreamWriter("yourfilepath")
{
   writer.Write(oldtext);
   writer.Write("new text");
}
或者更好地使用AppendAllText

File.AppendAllText(@"yourfilepath", "new text");
按如下所示更改现有代码,它将正常工作(抱歉@Nathan!):


第二个使用块引用时使用了text2,但在该块中引用了text1。也可以使用(或
File.AppendText
)。无需检查文件是否存在或(尝试)创建它。那是打字错误吗(你应该看到它用红色下划线)?请注意,您正在检查是否存在(
File.Exists(“Text.txt”)
)并使用一个文件路径(
string filePath=Application.StartupPath+“\\Text.txt”
),该路径可能不代表相同的路径(您应该使用
File.Exists(filePath)
,除非它是另一个打字错误)。使用
Path.Combine()
构建路径。带有
append
参数的重载。将其设置为
true
。我使用了此选项并获得了成功。谢谢你这么多的文件;
string filePath = Application.StartupPath + "\\Text.txt";
if (!File.Exists("Text.txt"))
   File.Create("Text.txt").Close();

//insert text form textbox no1
using (StreamWriter text1 = new StreamWriter(filePath))
{
      text1.WriteLine(txtNo1.Text);
      text1.Close();
}

//insert text form textbox no2
using (StreamWriter text2 = new StreamWriter(filePath))
{
      text2.WriteLine(txtNo2.Text);//Changes here
      text2.Close();//Changes here
}