Метод Read
считывает по крайней мере один байт и самое большее указанное число байтов.
Метод обычно возвращает все данные, которые доступны в данный момент. Если поток, например, идет через Интернет, он обычно возвращает то, что получил, и для файлового потока он обычно возвращает весь файл.
Однако, реализация должна решить, какое поведение лучше. Например, он может сначала вернуть то, что он может получить из файлового кэша, который может быть возвращен немедленно, и позволить вам сделать еще один вызов для получения данных, которые требуют фактического чтения с диска.
При использовании метода Read
вы всегда должны использовать цикл, чтобы вы наверняка получили все данные. Это может показаться необязательным, если первый вызов всегда возвращает все данные, но могут быть ситуации, когда это не так.