Перейти к содержимому
На этой странице

Виды потоков ввода/вывода

Все темы Java Developer

Какие существуют виды потоков ввода/вывода?

Существуют следующие виды потоков ввода/вывода в Java:

  1. Байтовые потоки:

    • InputStream: Абстрактный класс для чтения байтов.

      • Примеры: FileInputStream, ByteArrayInputStream
    • OutputStream: Абстрактный класс для записи байтов.

      • Примеры: FileOutputStream, ByteArrayOutputStream
  2. Символьные потоки:

    • Reader: Абстрактный класс для чтения символов.

      • Примеры: FileReader, BufferedReader, InputStreamReader
    • Writer: Абстрактный класс для записи символов.

      • Примеры: FileWriter, BufferedWriter, OutputStreamWriter
  3. Потоки обработки (фильтры):

    • FilterInputStream: Абстрактный класс для фильтров байтовых потоков.

      • Примеры: BufferedInputStream, DataInputStream
    • FilterOutputStream: Абстрактный класс для фильтров байтовых потоков.

      • Примеры: BufferedOutputStream, DataOutputStream
    • FilterReader: Абстрактный класс для фильтров символьных потоков.

      • Примеры: BufferedReader, PushbackReader
    • FilterWriter: Абстрактный класс для фильтров символьных потоков.

      • Примеры: BufferedWriter, PrintWriter

В каких пакетах расположены классы потоков ввода/вывода?

Классы потоков ввода/вывода в Java расположены в следующих пакетах:

  1. java.io:

    • Байтовые потоки: InputStream, OutputStream и их подклассы.

    • Символьные потоки: Reader, Writer и их подклассы.

    • Потоки обработки (фильтры): FilterInputStream, FilterOutputStream, FilterReader, FilterWriter и их подклассы.

  2. java.nio:

    • Неблокирующие ввод-вывод: Channel, Buffer, Charset, Selector и их подклассы.

Собеседования: Java

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: Java-разработчик, Backend-разработчик на Java. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.