.NET 3.5等效于C#中的ReadAllLines和WriteAllLines

时间:2015-08-06 22:30:31

标签: c# visual-studio-2008 .net-3.5

我正在尝试创建一个可以打开.csv文件的应用程序,将一些用户输入的文本添加到特定行的末尾,然后保存并关闭该文件。我已经看到许多使用ReadAllLines和WriteAllLines来实现这一目标的解决方案,但由于某些原因,我被困在使用VS2008和.NET 3.5,显然没有这些。我想知道是否有人知道在3.5中实现这些的等效方法。如果我可以创建一个包含文件中每行文本的数组,我或许可以使用数组中的索引访问特定行,添加我想要的文本,然后保存文件。可悲的是,我不知道该怎么做或者甚至可能。我仍然是C#的新手,所以这可能是完全的胡言乱语,但我希望不是!如果有人对我如何做到这一点有任何建议,我将不胜感激。谢谢!

1 个答案:

答案 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)
}