Java Core trainee

Как работает чтение файлов в Java?

Ответ

Через потоки I/O: InputStream / OutputStream — для байтов. Reader / Writer — для символов (с учётом кодировки). Buffered-обёртки (BufferedReader, BufferedInputStream) — для эффективности, читают сразу пачку и снижают число системных вызовов. Потоки нужно обязательно закрывать (try-with-resources).

Разбор: Байтовые InputStream/OutputStream работают с байтами, а символьные Reader/Writer учитывают кодировку; Buffered-обёртки читают данные пачками и снижают число системных вызовов, ускоряя I/O. В подменах роли байтовых и символьных потоков перепутаны, буферизация не про потокобезопасность, а потоки надо обязательно закрывать (try-with-resources) и они не обязаны грузить весь файл сразу.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться