可以写入csv文件但不能追加

时间:2016-11-19 00:49:29

标签: c# csv export-to-csv

string pathDesktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
        string filePath = pathDesktop + "\\mycsvfile.csv";
        string delimter = ",";
        string a = "Enoelpro---[037,033,0,018,030,012,004,021,009,038,035,053,044,050,074,F,018,010,070,000]<Vulpix>[-][037,034,0,022,020,029,002,008,024,036,046,049,041,057,077,F,018,005,070,000]<Vulpix>[-] cual es mejor??";
        List<string[]> test = conv(a,"testrainer");
        int length = test.Count;

        using (TextWriter writer = File.CreateText(filePath))
        {
            for (int index = 0; index < length; index++)
            {
                writer.WriteLine(string.Join(delimter, test[index]));
            }
        }

所以,在momement,这很好用,除了它没有将旧数据保存在csv文件中。如何修改它而不是删除数据,它只是附加到数据?

2 个答案:

答案 0 :(得分:2)

你可以试试StreamWriter班吗?

  

如果文件存在,则可以覆盖或附加。如果该文件不存在,则此构造函数将创建一个新文件。

改为使用 TextWriter writer = File.CreateText(filePath)尝试使用

TextWriter writer = new StreamWriter(filePath, true);

如果你在构造函数中传递 true ,它应该将文本附加到文件。

答案 1 :(得分:1)

File.CreateText Method (String)

  

此方法相当于 StreamWriter(String, Boolean   构造函数重载, append参数设置为false 如果   path指定的文件不存在,创建如果文件有   存在,其内容被覆盖。允许使用其他线程   在文件打开时读取文件。

StreamWriter Constructor (String, Boolean)

这是第二个参数,true表示将数据附加到文件中; false表示覆盖文件。

如果您查看每种方法的文档,它会清楚地说出您的问题的答案,并且如果您需要附加文件,还有一个建议。使用带有path和append参数的StreamWriter构造函数(true)

相关问题