关闭读取的文件

This commit is contained in:
陈国伟 2021-12-21 09:24:10 +08:00
parent 6ec0677555
commit 5daa5b987a

View File

@ -44,23 +44,26 @@ namespace FastGithub.PacketIntercept.Dns
return;
}
Encoding hostsEncoding;
var hasConflicting = false;
var hostsBuilder = new StringBuilder();
using var fileStream = new FileStream(hostsPath, FileMode.Open, FileAccess.Read);
using var streamReader = new StreamReader(fileStream);
while (streamReader.EndOfStream == false)
using (var fileStream = new FileStream(hostsPath, FileMode.Open, FileAccess.Read))
{
var line = await streamReader.ReadLineAsync();
if (this.IsConflictingLine(line))
using var streamReader = new StreamReader(fileStream);
while (streamReader.EndOfStream == false)
{
hasConflicting = true;
hostsBuilder.AppendLine($"# {line}");
}
else
{
hostsBuilder.AppendLine(line);
var line = await streamReader.ReadLineAsync();
if (this.IsConflictingLine(line))
{
hasConflicting = true;
hostsBuilder.AppendLine($"# {line}");
}
else
{
hostsBuilder.AppendLine(line);
}
}
hostsEncoding = streamReader.CurrentEncoding;
}
@ -68,8 +71,7 @@ namespace FastGithub.PacketIntercept.Dns
{
try
{
File.Move(hostsPath, Path.ChangeExtension(hostsPath, ".bak"), overwrite: true);
await File.WriteAllTextAsync(hostsPath, hostsBuilder.ToString(), streamReader.CurrentEncoding, cancellationToken);
await File.WriteAllTextAsync(hostsPath, hostsBuilder.ToString(), hostsEncoding, cancellationToken);
}
catch (Exception ex)
{