Считывает ли binarywriter.flush () базовый объект файлового потока? - PullRequest
3 голосов
/ 01 июня 2010

У меня есть следующий фрагмент кода:

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 (), чтобы убедиться, что данные записываются на диск (или устройство). Однако мое тестирование показывает, что данные записываются на диск, как только я вызываю метод flush () для объекта bwriter.

Может ли кто-нибудь это подтвердить?

1 Ответ

4 голосов
/ 01 июня 2010

Согласно Reflector, BinaryWriter.Flush вызывает метод Flush основного потока.

...