Встречается на собеседованиях • сегодня

В чем разница между байтовыми и файловыми потоками

Байтовые потоки (InputStream/OutputStream) работают с сырыми бинарными данными (байтами), а файловые (FileReader/FileWriter) — с текстовыми данными (символами), автоматически обрабатывая кодировку.

Пример:

java
// Байтовый поток (читает файл побайтно)
try (InputStream is = new FileInputStream("file.bin")) {
    int data;
    while ((data = is.read()) != -1) {
        System.out.print(data); // Вывод байтов
    }
}

// Файловый поток (читает текст с учётом кодировки)
try (Reader reader = new FileReader("text.txt")) {
int c;
while ((c = reader.read()) != -1) {
System.out.print((char) c); // Вывод символов
}
}

text

**Ключевые отличия:**  
1. Байтовые — для бинарных данных (изображения, ZIP и т.д.).  
2. Файловые — для текста, используют кодировку (UTF-8 и др.).  
3. Файловые потоки — обёртки над байтовыми (например, `FileReader` использует `FileInputStream` внутри).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы