Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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#streamwriter在文件创建时添加行_C#_Streamwriter - Fatal编程技术网

c#streamwriter在文件创建时添加行

c#streamwriter在文件创建时添加行,c#,streamwriter,C#,Streamwriter,我正在控制台应用程序中成功地将数据写入csv文件(耶!)。到目前为止,Streamwriter对我来说非常优秀 using (StreamWriter writer = new StreamWriter(file, true)) { writer.WriteLine(strToSave); } 此代码附加到现有文件,或者,如果该文件不存在,则先创建一个新文件,然后再写入 我想让它做的是,如果文件不存在,创建文件,为csv列写一个标题行,然后像平常一样写数据。我该怎么做 谢谢。您可以首先

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

using (StreamWriter writer = new StreamWriter(file, true))
{
    writer.WriteLine(strToSave);
}
此代码附加到现有文件,或者,如果该文件不存在,则先创建一个新文件,然后再写入

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


谢谢。

您可以首先使用
file.exists()
方法检查文件是否存在。如果文件已经存在,则不需要写入标题,如果存在值为
false
,则写入标题(假设
.csv
的标题位于变量
标题中),然后写入所需的文本

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

您可以首先使用
file.exists()
方法检查文件是否存在。如果文件已经存在,则不需要写入标题,如果存在值为
false
,则写入标题(假设
.csv
的标题位于变量
标题中),然后写入所需的文本

        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
    }
}

您可以检查流的长度属性

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

如果您确定没有其他进程会同时干扰该文件,您可以使用
If(file.Exists(file))…
选择不同的路径。您可以在打开流之前使用FileInfo classes Exists方法检查它是否存在如果您没有尝试任何操作,您可以做的是;检查文件是否存在。如果没有,请运行您的头文件编写代码,然后像往常一样运行。如果您确定没有其他进程会同时处理该文件,则可以使用
If(file.Exists(file))…
采取不同的路径。在打开流之前,您可以使用FileInfo classes exists方法检查流是否存在。如果您没有尝试任何操作,您可以执行以下操作:;检查文件是否存在。如果没有,运行你的头写代码,然后像往常一样。非常整洁的解决方案!谢谢,这是我能从头顶写下的最简单的一个。确实是非常简洁的解决方案!谢谢,这是我能写的最简单的一封信。