2014-03-19 162 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的文章預計相同的文件被覆蓋。 –