Junior — Middle
Каква е разликата между класовете InputStream и Reader при работа с потоци от данни в Java?
sobes.tech AI
Отговор от AI
Класс InputStream предназначен для чтения потоков байтов (byte streams), то есть работает с необработанными байтами. Он используется, когда нужно читать бинарные данные, например, из файлов, сетевых соединений или других источников.
Класс Reader работает с потоками символов (character streams), то есть с текстовыми данными. Он учитывает кодировку символов и преобразует байты в символы, что удобно для работы с текстом.
Пример:
InputStream input = new FileInputStream("file.bin"); // для бинарных данных
Reader reader = new FileReader("file.txt"); // для текстовых данных
Таким образом, главное отличие — InputStream работает с байтами, Reader — с символами, учитывая кодировку.