Я столкнулся с несколькими сообщениями о том, что, когда вы считаете, что потоки не являются надежной структурой данных, это означает, что операции чтения/записи могут не выполняться во всех случаях.надежность потока
Итак:
а) Есть ли правда в этот консенсус?
b) Если да, то каковы случаи, когда операции чтения/записи могут завершиться неудачей?
Этот консенсус на потоки, которые я наткнулся на претензии, что вы sould цикл через операции чтения/записи до завершения:
var bytesRead = 0;
var _packet = new byte[8192];
while ((bytesRead += file_reader.Read(_packet, bytesRead, _packet.Length - bytesRead)) < _packet.Length) ;
Привет и добро пожаловать в переполнение стека. Если вы сталкиваетесь с сообщениями, которые говорят то или это, и ссылайтесь на них в своих вопросах, размещайте ссылки на эти сообщения, чтобы мы могли видеть полный контекст. Возможно, сообщения ошибочны, возможно, есть некоторые конкретные случаи, возможно, только неправильная формулировка. –
У вас есть ссылки на сообщения, которые вы встретили? Не называть «Flush» в потоке в нужное время может привести к нежелательным эффектам в зависимости от вашего сценария, за исключением отключения питания или чего-то подобного (и потоки являются настолько же надежными, как и все остальное в таких экстремальных случаях), данные будут сброшены, если поток закрыт. –
Просьба указать ссылки на сообщения, которые вы нашли. I Googled 'C# stream надежность,' и единственное сообщение, которое я нашел, было вашим. :) Я пишу код, который обрабатывает файлы размером в несколько гигабайт, используя объекты Stream без каких-либо проблем. –