在我的应用中,我正在使用StreamWriter将数据流式传输到文件中。在调用Close()方法之前,是否有任何字节实际写入文件?如果答案是否定的,无论流有多大都是如此吗?
兰迪
答案 0 :(得分:18)
StreamWriter有一个内部缓冲区,一旦该缓冲区已满,它将被刷新到磁盘。您可以通过调用Flush()
如果您愿意,可以在StreamWriters的构造函数中指定所需的缓冲区大小。
答案 1 :(得分:1)
Stream由StreamWriter.Flush
撰写。
答案 2 :(得分:0)
它取决于正在使用的基础流,该流中缓冲区的大小以及其他因素。
您可以通过在StreamWriter上调用flush()来强制写入基础流。
我从您的问题中假设您正在使用下面的文件流。根据我的经验,刷新通常发生在每1-4K数据之间,但我不确定具体是什么。