c#流编写器在文件创建上添加行

本文关键字:文件创建 添加行 | 更新日期: 2023-09-27 18:04:56

我在控制台应用程序中成功地将数据写入csv文件(yay!)。到目前为止,Streamwriter对我来说非常棒。

using (StreamWriter writer = new StreamWriter(file, true))
{
    writer.WriteLine(strToSave);
}

此代码附加到现有文件,如果不存在,则先创建一个新文件,然后写入。

我想要它做的是,如果文件不存在,创建文件,为csv列写一个标题行,然后像往常一样写数据。我该怎么做呢?

谢谢。

c#流编写器在文件创建上添加行

您可以首先使用File.Exists()方法检查文件是否存在。如果文件已经存在,你不需要写头,如果存在的值是false,写头(假设.csv的头在变量header中),然后写你想要的文本。

        bool exists = File.Exists(file);
        using (StreamWriter writer = new StreamWriter(file, true))
        {
            if(!exists)
                writer.WriteLine(header);
            writer.WriteLine(strToSave);
        }

可以检查流的长度属性

using(var stream = new FileStream("file.name", FileMode.OpenOrCreate, FileAccess.ReadWrite))
using (var writer = new StreamWriter(stream))
{
    if (stream.Length == 0)
    {
        // Write header here
    }
}