我正在尝试创建一个可以打开.csv文件的应用程序,将一些用户输入的文本添加到特定行的末尾,然后保存并关闭该文件。我已经看到许多使用ReadAllLines和WriteAllLines来实现这一目标的解决方案,但由于某些原因,我被困在使用VS2008和.NET 3.5,显然没有这些。我想知道是否有人知道在3.5中实现这些的等效方法。如果我可以创建一个包含文件中每行文本的数组,我或许可以使用数组中的索引访问特定行,添加我想要的文本,然后保存文件。可悲的是,我不知道该怎么做或者甚至可能。我仍然是C#的新手,所以这可能是完全的胡言乱语,但我希望不是!如果有人对我如何做到这一点有任何建议,我将不胜感激。谢谢!
答案 0 :(得分:0)
这样的事情应该有效(根据您的具体需求而定)。是的,也许不像某些解决方案那么优雅,但它应该是快速的邪恶:
public void AddUserBS(string filePath, string separator, string userBS)
{
var reader = new StreamReader(filePath);
var writer = new StreamReader(filePath + "tmp");
string line;
while(null != (line = reader.ReadLine())
{
writer.Write(line + separator + userBS);
}
reader.Dispose();
writer.Dispose();
File.Delete(filePath);
File.Rename(filePath + "tmp", filePath)
}