2010-06-01 5 views
3

У меня есть фрагмент кода следующим образом:Делает ли binarywriter.flush() также скрытый объект объекта фильтра?

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.

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

ответ

4

В соответствии с рефлектором BinaryWriter.Flush вызывает метод Flush базового потока.

+0

Благодарим вас за перевод. Это совпадает с результатами моего тестирования. Большое спасибо за то, что нашли время, чтобы проверить это на отражателе. –