如何将文本文件保留在最大大小限制之下?

时间:2013-10-07 10:51:34

标签: c# file c#-4.0 size

每次我的主程序运行时,它会将大约6行(总共约50个字符)写入日志文件。

如何让这个文件不断增长?我想将文件保持在2MB以下,文本末尾添加新文本,文件开头删除文本。

2 个答案:

答案 0 :(得分:1)

FileInfo txtfile = new FileInfo(nameOfFile);
if (txtfile.Length > (2 * 1024 * 1024))       // ## NOTE: 2MB max file size
{
    var lines = File.ReadAllLines(nameOfFile).Skip(10).ToArray();  // ## Set to 10 lines
    File.WriteAllLines(nameOfFile, lines);
}

只有当文件超过2MB(大小,而不是磁盘大小)时,才会运行上面的代码。它将从文件中删除前10行,并将剩余的行写回文件。

我已经设法通过一小段代码将我的需要用于工作,并且我想在这里分享它以帮助减少人们提出同样的问题。 希望它能帮助有同样问题的人。

我的解决方案尚未发现此问题的任何问题,但如果不正确,请随意添加任何评论。

答案 1 :(得分:-3)

对于Web应用程序,您还可以定义最大请求长度的值。

  <system.web>
    <httpRuntime maxRequestLength="15000" />
  </system.web>