C#从文本文件的开头删除,而不读取整个文件
我有一个运行良好的日志应用程序,但是我想应用这个功能来保持日志文件的大小——防止它变得太大 理想情况下,我希望定期检查文件的大小,如果超过配置的大小(5MB或其他),则从一开始就删除,直到达到某个大小,如4MB 通过阅读其他问题,我仍然不清楚是否可以在不阅读文件全部内容的情况下更新/删除文件。我的理想情况是:C#从文本文件的开头删除,而不读取整个文件,c#,text-files,filesize,C#,Text Files,Filesize,我有一个运行良好的日志应用程序,但是我想应用这个功能来保持日志文件的大小——防止它变得太大 理想情况下,我希望定期检查文件的大小,如果超过配置的大小(5MB或其他),则从一开始就删除,直到达到某个大小,如4MB 通过阅读其他问题,我仍然不清楚是否可以在不阅读文件全部内容的情况下更新/删除文件。我的理想情况是: if(filesize > 5MB) { while(filesize > 4MB) Delete_First_X_Many_Lines(file);
if(filesize > 5MB)
{
while(filesize > 4MB)
Delete_First_X_Many_Lines(file);
}
提前感谢您的指点和指导。我会这样做:
我知道您可以修改文件的一部分,而无需读取整个文件。但是从一开始就删除吗?我担心这是不可能的(尽管我可能是错的)使用像NLog或log4net这样的现有日志框架的任何机会?他们已经有了这个功能,还有很多很多。我想你必须阅读它并写回你想要保留的内容。然而,知道回写多少将是一个问题。或者像Ryan建议的那样…使用第三方库,其中有人已经完成了繁重的工作。相关: