binarywriter.flush()是否也刷新底层文件流对象?

时间:2010-06-01 16:47:00

标签: c# .net vb.net filestream binarywriter

我有一段代码片段如下:

Dim fstream = new filestream(some file here)
dim bwriter = new binarywriter(fstream)
while not end of file
    read from source file
    bwriter.write()
    bwriter.flush()
end while

我的问题如下。当我调用bwriter.flush()时它还会刷新fstream对象吗?或者我是否必须显式调用fstream.flush(),如以下示例中所示:

while not end of file
    read from source file
    bwriter.write()
    bwriter.flush()
    fstream.flush()
end while

有些人建议我需要明确调用fstream.flush()以确保将数据写入磁盘(或设备)。但是,我的测试显示,一旦我在bwriter对象上调用flush()方法,就会将数据写入磁盘。

有人可以证实吗?

1 个答案:

答案 0 :(得分:4)

根据Reflector,BinaryWriter.Flush调用底层流的Flush方法。