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.