什么是获取文件大小的好方法?

5Yr*_*DBA 5 .net c#

在我们的自定义C#日志系统中,我们使用streamWriter = File.CreateText(fileNameStr);创建文件并打开要写入的流.

现在我们要监视文件大小以查看它是否达到所需的最大大小.我做的是以下内容:

  1. 为about文件创建一个FileInfo对象: currFileInfo = new FileInfo(fileNameStr);
  2. 每次写入后获取文件大小: curFileInfo.Refresh(); fileSize = curFileInfo.Length;
  3. 将文件大小与最大文件大小进行比较,如果更大,则关闭当前文件并创建新文件.

我打印出来看看刷新FileInfo需要多长时间,多次需要大约15毫秒.

所以我想可能有更好的方法来做到这一点.你的建议是什么?

Pie*_*kel 6

这应该工作:

streamWriter.BaseStream.Position;
Run Code Online (Sandbox Code Playgroud)

这应包含流的当前位置,如果您仅使用它进行追加,则应包含正确的文件大小.