FilterInputStream
, FilterOutputStream
– абстрактные классы для создания собственных потоков или добавления функционала к существующим.
В примере ниже создается класс расширяющий FilterInputStream
, в котором мы реализуем свой поток байтового ввода. Этот созданный нами поток изменяет консольный байтовый ввод System.in
так, чтобы он возвращал номер в таблице ASCII
введенного пользователем в консоль символа, но сдвинутого на 13 символов в этой таблице.
Пример программы:
Вывод:

Номер символа а в таблице ASCII – 97, но поскольку мы сдвинули его на 13 символов выводиться 110.
Table of Contents
Многопоточность в Java. создание и запуск потоков с помощью Thread
Изучите создание потоков в Java через Thread, Runnable и Callable. Узнайте, как работает параллельное выполнение кода и переопределение методов потоков.
Time to read: 11
Интерфейс Runnable в Java
Преимущества Runnable над Thread: экономия памяти, гибкость кода и поддержка многопоточности. Пример реализации и сравнение подходов.
Time to read: 10
Volatile переменная в Java
Разберитесь с ключевым словом volatile в Java: как оно обеспечивает видимость изменений переменной для всех потоков. Практический пример использования.
Time to read: 9