Главная страница
Навигация по странице:

  • InputStream

  • Таблица 11-1. Типы InputStream Класс

  • ByteArray-InputStream Позволяет использовать буфер в памяти в качестве InputStream

  • StringBuffer-InputStream Конвертирует String в InputStream String

  • File-InputStream Для чтения информации из файла. String

  • Piped-InputStream Производит данные, которые были записаны в ассоциированный PipedOutput -Stream

  • PipedOutputStream Как источник данных при нескольких нитях процессов. Соединить его с объектом FilterInputStream

  • Sequence-InputStream Преобразует два или более объектов InputStream

  • String

  • Таблица 11-2. Типы OutputStream Класс

  • File-OutputStream Для отсылки информации в файл. Строка, представляющая имя файла, или объекты File

  • Piped-OutputStream Любая информация, записанная сюда, автоматически становится вводом ассоциированного PipedInput-Stream

  • PipedInputStream Для определения назначения ваших данных со многими нитями процессов. Соедините его с объектом FilterOutputStream

  • Filter-OutputStream Абстрактный класс, который является интерфейсом для декоратора, который обеспечивает полезную функциональность другим классам OutputStream

  • Ответы на вопросы по ревью 4. Java io. Ключевым понятием здесь является понятие потока


    Скачать 1.93 Mb.
    НазваниеJava io. Ключевым понятием здесь является понятие потока
    Дата03.07.2022
    Размер1.93 Mb.
    Формат файлаdoc
    Имя файлаОтветы на вопросы по ревью 4.doc
    ТипДокументы
    #623608
    страница32 из 39
    1   ...   28   29   30   31   32   33   34   35   ...   39

    Ввод и вывод


    Библиотеки ввода/вывода часто используют абстракцию потока, который представляется любым источником данных или представляется как объект, способный производить или принимать кусочки данных. Поток прячет детали того, что случается с данными внутри реального устройства ввода/вывода.

    Библиотечные классы Java для ввода/вывода делятся на классы ввода и вывода, как вы можете увидеть, взглянув на иерархию Java классов в онлайн документации с помощью вашего Web броузера. При наследовании, все, что наследуется от классов InputStream или Reader, имеет основной метод, называемый read( ) для чтения единичного байта или массива байт. Точно так же, все, что наследуется от классов OutputStream или Writer, имеет основной метод, называемый write( ) для записи единичного байта или массива байт. Однако чаще всего вы не можете использовать эти методы; они существуют для того, чтобы другие классы могли использовать их — эти другие классы обеспечивают более полезные интерфейсы. Таким образом, вы редко будете создавать ваш объект потока, используя единственный класс, вместо этого вы будите располагать множеством объектом для обеспечения желаемой функциональности. Факт в том что вы создаете более, чем один объект для создания единственного результирующего потока, это главная причина, по которой потоки Java являются запутанными.

    Полезно распределить классы по категориям, исходя из их функциональности. В Java 1.0 разработчики библиотеки начали с решения, что все классы, которые могут что-то делать с вводом, должны наследоваться от InputStream, а все классы, которые ассоциируются с выводом, должны наследоваться от OutputStream.

    Типы InputStream


    Работа InputStream состоит в представлении классов, которые производят ввод от различных источников. Источниками могут быть:

    1. Массив байт.

    2. Объект String.

    3. Файл.

    4. “Труба”, которая работает так же, как и физическая труба: вы помещаете вещи в один конец, а они выходят из другого.

    5. Последовательность других потоков, так что вы можете собрать их вместе в единый поток.

    6. Другие источники, такие как Internet соединение. (Это будет обсуждено в одной из следующих глав.)

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

    Таблица 11-1. Типы InputStream

    Класс

    Функция

    Аргументы конструктора

    Как его использовать







    ByteArray-InputStream

    Позволяет использовать буфер в памяти в качестве InputStream

    Буфер, их которого извлекаются байты.

    Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса.







    StringBuffer-InputStream

    Конвертирует String в InputStream

    String. Лежащая в основе реализация на самом деле использует StringBuffer.

    Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса.







    String'>File-InputStream

    Для чтения информации из файла.

    String, представляющий имя файла, или объекты File или FileDescriptor.

    Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса.







    Piped-InputStream

    Производит данные, которые были записаны в ассоциированный PipedOutput-Stream. Реализует концепцию “трубопровода”.

    PipedOutputStream

    Как источник данных при нескольких нитях процессов. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса.







    Sequence-InputStream

    Преобразует два или более объектов InputStream в единый InputStream.

    Два объекта InputStream или Enumeration для контейнера из InputStream.

    Как источник данных. Соединить его с объектом FilterInputStream для обеспечения полезного интерфейса.







    Filter-InputStream

    Абстрактный класс, который является интерфейсом для декоратора, который обеспечивает полезную функциональность для других классов InputStream. Смотрите таблицу11-3.

    Смотрите таблицу 11-3.

    Смотрите таблицу 11-3.






    Типы OutputStream


    Эта категория включает классы, которые решают, куда будет производиться вывод: в массив байт (но не String; возможно, вы можете создать его, используя массив байт), в файл, или в “трубу”.

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

    Таблица 11-2. Типы OutputStream

    Класс

    Функция

    Аргументы конструктора

    Как его использовать







    ByteArray-OutputStream

    Создает буфер в памяти. Все данные, которые вы будете посылать в поток, помещаются в этот буфер.

    необязательный начальный размер буфера.

    Для определения места назначения ваших данных. Соедините его с объектом FilterOutputStream для обеспечения полезного интерфейса.







    File-OutputStream

    Для отсылки информации в файл.

    Строка, представляющая имя файла, или объекты File или FileDescriptor.

    Для определения места назначения ваших данных. Соедините его с объектом FilterOutputStream для обеспечения полезного интерфейса.







    Piped-OutputStream

    Любая информация, записанная сюда, автоматически становится вводом ассоциированного PipedInput-Stream. Реализует концепцию “трубопровода”.

    PipedInputStream

    Для определения назначения ваших данных со многими нитями процессов. Соедините его с объектом FilterOutputStream для обеспечения полезного интерфейса.







    Filter-OutputStream

    Абстрактный класс, который является интерфейсом для декоратора, который обеспечивает полезную функциональность другим классам OutputStream. Смотрите Таблицу 11-4.

    Смотрите Таблицу 11-4.

    Смотрите Таблицу 11-4.






    1   ...   28   29   30   31   32   33   34   35   ...   39


    написать администратору сайта