如何在file.CreateText之后追加到文件
本文关键字:追加 文件 之后 CreateText file | 更新日期: 2023-09-27 18:28:29
我正在编写一个C#应用程序,它需要创建一个CSV文件。
问题是在发出File.CreateText({文件路径})后,我无法立即写入它。如果文件已经存在,我可以写入没有问题。这是代码:
if (!File.Exists(file_name))
{
File.CreateText(file_name);
File.WriteAllText(file_name, String.Format("Old Name,Short Name{0}", this.old_name_txt.Text, this.new_name_txt.Text, Environment.NewLine));
}
else
{
File.AppendAllText(file_name, String.Format("{0},{1}{2}", this.old_name_txt.Text, this.new_name_txt.Text, Environment.NewLine));
}
创建文件后,我还尝试了"file.AppendAllText…"
它产生的错误表明它无法写入,因为另一个进程正在使用该文件。
File.CreateText
将创建一个文本文件并打开该文件。然后它返回一个StreamWriter
,您可以使用它来访问创建的文件。因为你已经像这样打开了文件,所以当你再次尝试打开该文件时会出现错误。
在阅读File.CreateText
的文档时,请确保查看返回值,以了解函数的作用。
请阅读File.AppendAllText
的文档,然后相应地更改代码。
以下是文档中最重要的部分:
AppendAllText(字符串,字符串)
描述
打开一个文件,将指定的字符串附加到该文件,然后关闭该文件。如果该文件不存在,此方法将创建一个文件,将指定的字符串写入该文件,然后关闭该文件。
你现在应该能够自己解决你的问题了。