如何在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之后追加到文件

File.CreateText将创建一个文本文件并打开该文件。然后它返回一个StreamWriter,您可以使用它来访问创建的文件。因为你已经像这样打开了文件,所以当你再次尝试打开该文件时会出现错误。

在阅读File.CreateText的文档时,请确保查看返回值,以了解函数的作用。

请阅读File.AppendAllText的文档,然后相应地更改代码。

以下是文档中最重要的部分:

AppendAllText(字符串,字符串)
描述
打开一个文件,将指定的字符串附加到该文件,然后关闭该文件。如果该文件不存在,此方法将创建一个文件,将指定的字符串写入该文件,然后关闭该文件。

你现在应该能够自己解决你的问题了。