Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РГТЭУ инфа экзамен.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
149.71 Кб
Скачать
  1. Базовые классы реализации ввода/вывода данных.

Система ввода-вывода.

В java она представлена пакетом java io (input/output)

Для описания работы по вводу-выводу используется специальное понятие – поток данных (Stream). Поток данных связан с некоторых источником или приемником данных и соответственно делится на входящие и выходящие.

В Java потоки представляются объектами, а все классы разделены на две части, осуществляющие ввод данных и вывод. Базовые универсальные классы позволяют считывать и записывать информацию в виде набора байтов, поэтому при записи вычислений в файл информацию сначала превращают в набор байтов.

Основными классами являются: Input/Output Stream. Соответственно для ввода и записи данных. Простейшая операция представлена методом read () без аргументов. Метод является абстрактным и должен быть определен в классах наследниках. Метод предназначен для считывания ровно одного байта из потока и возвращает значения типа int.

При достижении конца потока возвращаемое значение ровно 1.

Для считывания массива байтов методе read передается массив byte [].

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

Для проверки готовности к считыванию используется метод available.

Когда работы с входным потоком данных окончена, то его следует закрыть методом close().

В классе output stream аналогичным методом определяется :

write () byte[] byte()

Дополнительно класс выходного потока может использовать внутренний механизм для буферизации (временного хранения перед отправкой данных) и для выяснения места хранения информации используется метод flush (). Завершение работы с потоком заканчивается вызовом метода сlose(). При этом метод сначала освобождает буфер и все связанные с ним системные ресурсы.

Классы реализации потоков данных:

1.byte array input /output stream

Представляют потоки ,считывающие и передающие массив байтов.

2.File input/output Stream

Используется для чтении и записи в файл. Конструктор классов в качестве параметра принимает название файла, а при записи автоматически создает файл. Для работы с модулями могут использоваться классы Piped Input\ Putput Stream.

3. String Buffer input Stream.

Используется при работе с текстовой строкой Данные возвращаемые методом read будут считываться в строке. При этом символы преобразуются в байты с потерей точности (старший байт отбрасывается).

4. Позволяет объединять данные из двух и более входных потоков – sequence input stream.

5. filter input\output stream.

Осуществляет фильтрацию выбора данных для буферизации данных используются классы buffered input\output stream, осуществляющие записи данных во внутренних буфер.

Класс line number input stream производит подсчет количества строк, считанных из потока.

Print stream используется для конвертации для записи строк в поток.

Для работы с другими примитивными типами данных в java используются классы data input\ output stream.