Вопросы к Поиску с Алисой
Отличие методов read и available в потоках ввода-вывода заключается в их назначении:
Таким образом, метод available() лишь проверяет наличие данных, а метод read() — их считывает. ru.stackoverflow.com
Например, при вызове метода read() возможно возникновение ситуации, когда запрашиваемые данные ещё не готовы к считыванию. intuit.ru В таком случае метод available() позволяет узнать, сколько байт в потоке готово к считыванию. intuit.ru