如何从主机文件中删除/删除/删除空白行?

时间:2014-04-17 09:22:19

标签: c# host

我想特别从主机文件中删除空白行。

假设主机文件有25行,其中4行完全空白,我们假设这4行空行是最后4行。所以我想在21行之后删除所有空白行,然后保存主机文件。

我不知道&没有代码可以做到这一点。如果可以,请帮助我。

2 个答案:

答案 0 :(得分:2)

string path = @"C:\Windows\System32\drivers\etc\hosts";
File.WriteAllLines(path, File.ReadAllLines(path).Where(l => !string.IsNullOrWhiteSpace(l)));

旧的.Net版本:

string path = @"C:\Windows\System32\drivers\etc\hosts";
File.WriteAllLines(path, File.ReadAllLines(path).Where(l => l.Trim().Length > 0));

答案 1 :(得分:0)

您可以实现以下内容:

string tempFile = Path.GetTempFileName();

using(var sr = new StreamReader("file.txt"))
using(var sw = new StreamWriter(tempFile))
{
    string line;

    while((line = sr.ReadLine()) != null)
    {
         if(line != "removeme")
             sw.WriteLine(line);
    }
}

File.Delete("file.txt");
File.Move(tempFile, "file.txt");