0

コンソール アプリで csv ファイルにデータを正常に書き込んでいます (やった!)。Streamwriter は今のところ私にとって優れています。

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

このコードは、既存のファイルに追加するか、存在しない場合は、最初に新しいファイルを作成してから書き込みます。

私がやりたいことは、ファイルが存在しない場合は、ファイルを作成し、csv 列のヘッダー行を書き込んでから、通常どおりデータを書き込むことです。どうやってやるの?

ありがとう。

4

2 に答える 2

6

メソッドを使用して、ファイルが存在することを最初に確認できますFile.Exists()。ファイルが既に存在する場合は、ヘッダーを記述する必要はありません。存在する値がである場合は、ヘッダーを記述し (のヘッダーが変数 にあるfalseと仮定します)、必要なテキストを記述します。.csvheader

        bool exists = File.Exists(file);
        using (StreamWriter writer = new StreamWriter(file, true))
        {
            if(!exists)
                writer.WriteLine(header);
            writer.WriteLine(strToSave);
        }
于 2013-03-21T09:48:53.797 に答える
0

ストリームの長さプロパティを確認できます

using(var stream = new FileStream("file.name", FileMode.OpenOrCreate, FileAccess.ReadWrite))
using (var writer = new StreamWriter(stream))
{
    if (stream.Length == 0)
    {
        // Write header here
    }
}
于 2013-03-21T09:51:55.607 に答える