stringbuilder或streamwriter覆盖信息

时间:2013-01-11 02:33:04

标签: c# csv stringbuilder streamwriter

我正在向一个流写器和一个字符串构建器发送几个字典,但是我的输出文件中只显示了一个字典的信息。我不知道该怎样做才能让所有东西一下子输出,代码在下面,谢谢!

public void RunReport()
{
    CSVProfileCreate(genderKeys, genderValues);
    CSVProfileCreate(ageKeys, ageValues);
}

public void CSVProfileCreate<T>(Dictionary<T, string> columns, Dictionary<T, int> data)
{
    using (StreamWriter write = new StreamWriter("c:/temp/testoutputprofile.csv"))
    {
        StringBuilder output = new StringBuilder();

        IEnumerable<string> col = columns.Values.AsEnumerable();
        IEnumerable<int> dat = data.Values.AsEnumerable();

        for (int i = 0; i < col.Count(); i++)
        {
            output.Append(col.ElementAt(i));
            output.Append(",");
            output.Append(dat.ElementAt(i));
            output.Append(",");
            output.Append(Environment.NewLine);
        }

        write.Write(output);
    }
}

1 个答案:

答案 0 :(得分:2)

尝试拨打

write.Flush();
写完后

编辑:

抱歉,请再次阅读您的问题,

尝试:

using (StreamWriter write = new StreamWriter("c:/temp/testoutputprofile.csv", true))