获取StreamWriter当前写入的文件大小(以字节为单位)

时间:2018-03-30 08:04:16

标签: c# stream

我正在使用文件和流。我想在扩展其限制时滚动文件。所以我的问题是如何获取StreamWriter写入的字节数,以便我可以与文件限制进行比较,如果它扩展了限制,则移动到下一个文件。

class RollingFile
{
    ...

    int GetBytesWritten(StreamWriter sw)
    {
        // Do something here to get the size of the file which is being written by the stream
    }

    // and, my all write operations goes here.
    void AppendMessage(StreamWriter writer, string message)
    {
        writer.WriteLine(message);
    }
}

1 个答案:

答案 0 :(得分:2)

请记住,StreamWriter不会立即写入。 您可以尝试使用writer.BaseStream.Length,但可能会产生错误,因此您需要先填充数据writer.AutoFlush = truewriter.Flush()