3

我有一个代码片段如下:

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() 方法,数据就会立即写入磁盘。

有人可以证实这一点吗?

4

1 回答 1

4

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

于 2010-06-01T16:48:52.427 回答