我正在使用文件和流。我想在扩展其限制时滚动文件。所以我的问题是如何获取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);
}
}
答案 0 :(得分:2)
请记住,StreamWriter不会立即写入。
您可以尝试使用writer.BaseStream.Length
,但可能会产生错误,因此您需要先填充数据writer.AutoFlush = true
或writer.Flush()
。