Иллюстрированный самоучитель по Java

Потоки ввода/вывода

Все классы пакета java.io можно разделить на две группы: классы, создающие поток (data sink), и классы, управляющие потоком (data processing).

Классы, создающие потоки, в свою очередь, можно разделить на пять групп:

  • классы, создающие потоки, связанные с файлами:

    FileReader FilelnputStream

    FileWriterFile Outputstream

    RandomAccessFile

  • классы, создающие потоки, связанные с массивами:

    CharArrayReader ByteArraylnputStream

    CharArrayWriter ByteArrayOutputStream

  • классы, создающие каналы обмена информацией между подпроцессами:

    PipedReader PipedlnputStream

    PipedWriter PipedOutputStream

  • классы, создающие символьные потоки, связанные со строкой:

    StringReader

    StringWriter

  • классы, создающие байтовые потоки из объектов Java:

    ObjectlnputStream

    ObjectOutputStream

Слева перечислены классы символьных потоков, справа – классы байтовых потоков.

Классы, управляющие потоком, получают в своих конструкторах уже имеющийся поток и создают новый, преобразованный поток. Можно представлять их себе как "переходное кольцо", после которого идет труба другого диаметра.

Четыре класса созданы специально для преобразования потоков:

  • FilterReader
  • FilterlnputStream
  • FilterWriter
  • FilterOutputStream
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.