Re: BinaryWriter
От: Sinclair Россия https://github.com/evilguest/
Дата: 02.11.24 15:32
Оценка: 6 (1)
Здравствуйте, tapatoon, Вы писали:

T>Пишу в файл данные несколько гигабайт. Пишу небольшими порциями по нескольку байт

T>
T>using (var fileStream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite))
T>{
T>    var bw = new BinaryWriter(fileStream);
T>    while (byte[] data = get_data())
T>    {
T>        bw.Write(data);
T>    }
T>}
T>

Обратите внимание на то, что у вас здесь нет ни Dispose, ни flush для bw. Возможно, в момент fileStream.Dispose bw ещё не все данные переложены из его внутреннего буфера в стрим.
T>Файл растёт максимум до 100Мб, дальше рост прекращается. В дебаге размер стрима в это время больше гигабайта. Где остальное? В свопе чтоль?
Я бы поставил на отставание обновления атрибутов файла. ФС не обязана обновлять их до того, как файл закроется.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.