我想特别从主机文件中删除空白行。
假设主机文件有25行,其中4行完全空白,我们假设这4行空行是最后4行。所以我想在21行之后删除所有空白行,然后保存主机文件。
我不知道&没有代码可以做到这一点。如果可以,请帮助我。
答案 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");