我的文本文件大小约为10 KB,我需要从文件开头逐个删除行,并且需要在文件达到5 KB时停止。我使用了下面这段代码,但它没有给我准确的结果我想看到的(例如:如果我想将它减少到5 KB,它会在达到6.5 KB时停止)
cacheCutOffSize = 5 * 1024; //(in KB)
using (StreamWriter sr = new StreamWriter(fileName))
{
sr.AutoFlush = true;
while ((sr.BaseStream.Length < cacheCutOffSize) && lines.Count > 0) //*8
{
sr.WriteLine(strng);
lines.RemoveAt(0);
strng = lines[0];
}
}
有没有更好更准确的方法呢?