2014-03-19 72 views
-3

我试图从包含特定单词的文本文件中删除一行。不过,我需要一个更好的方法来删除该行。从文件中删除行

这里是我使用的代码:完成

var oldLines = System.IO.File.ReadAllLines(filepath); 
      var newLines = oldLines.Where(line1 => !line1.Contains("Value")); 
      System.IO.File.WriteAllLines(filepath, newLines); 

通过使用此我的任务,但是具有以下性能问题:如果文件中包含10万条卢比线必须阅读10lakhs线和写10万条卢比线,所以需要更多时间。

+0

不得不谷歌一个“十万”。对于亚洲以外从未听说过这个术语的任何人:它是100.000。 –

回答

1
string line = null; 
string line_to_delete = "sample line i want to delete"; 

using (StreamReader reader = new StreamReader("C:\\input")) { 
    using (StreamWriter writer = new StreamWriter("C:\\output")) { 
     while ((line = reader.ReadLine()) != null) { 
      if (String.Compare(line, line_to_delete) == 0) 
       continue; 
      writer.WriteLine(line); 
     } 
    } 
} 
+0

你可能已经忘记了实际上写什么 – decPL

+0

不完全 - OP表示删除整行,如果它包含给定的字符串。此外,OP的文章预计相同的文件被覆盖。 –