【发布时间】:2017-02-17 16:39:57
【问题描述】:
我是编程新手,你能帮我吗?因为每次我运行它都会复制数据,现在我想替换或只是更新它,这是我的代码..谢谢
StreamWriter writer = null;
StringBuilder strbuilder = null;
string dir = Application.StartupPath;
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
string path = Path.Combine(dir, "test.csv");
strbuilder = new StringBuilder();
strbuilder.Append("\n");
foreach (var a in listofuser)
{
strbuilder.Append(a.SystemUserID.ToString() + "," + a.FullName.ToString() + "," + a.Department.ToString() +","+ Environment.NewLine);
}
writer = new StreamWriter(path, true);
writer.Write(strbuilder);
writer.Close();
【问题讨论】:
-
如果文件相当小(并且 CSV 文件确实应该如此),那么我想一个简单的方法是将文件的内容读入内存集合(
List<T>of some自定义对象),编辑该集合中您想要编辑的任何内容,然后将整个内容写回一个新文件(如果需要,覆盖原始文件)。 -
这个问题非常广泛。您要更新或替换多少数据?更新/更改的说明来自哪里?
-
先生,我里面有大量文件,所以每次运行程序时都需要替换或更新它
-
这就像当我运行程序时它会创建一个csv文件,然后当我重新运行它时它会替换或更新csv文件中的数据,但事情是每次我重新运行它,它重复数据