1

有很多解释如何清空日志文件。

像:

File.WriteAllText(activeTab.FileName, string.Empty);

但是这个例子和我发现的其他例子都有同样的问题。如果日志文件当前被另一个进程锁定,则它不起作用。

在 ruby​​ 中有一个我可以使用的任务rake log:clear,它不会删除,只需清空日志文件。

我还发现我可以通过 Powershell 使用clc <filename>. 资源现在可在此处获得:

https://github.com/PowerShell/PowerShell/blob/c1faf1e6e10fc1ce45e84ef6f49ae7136c67a111/src/Microsoft.PowerShell.Commands.Management/commands/management/ClearContentCommand.cs

但老实说,我不明白这段代码是如何工作的,它也继承自其他类。

是否有可以在任何常见程序/类中使用的 C# 实现?

4

1 回答 1

0

事实证明,在我的情况下,可以使用以下代码段清除文件:

  var stream = new FileStream(FileName, FileMode.Truncate, FileAccess.ReadWrite, FileShare.ReadWrite | FileShare.Delete);
  stream.Close();
于 2016-09-15T13:05:59.130 回答