Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_MIR.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
83.46 Кб
Скачать

Ввод/вывод Java

Осуществляется через потоки Stream. Поток ввода вывода - абстрактный объект, который может принимать и выдавать информацию. Поток связан с физическим ус-вом через систему ввода-вывода Java. Все потоки ведут себя одинаково независимо от того , с камим физ. уст-вом они связаны и к ним могут применяться одни и те же методы. Все классы, которые работают с потоками располагаются в пакете Java.io. На вершине иераршии находятся 2 абстрактных класса:

Inputstring

Outputstring

Их подклассы предназначены для учета реальных уств-в и работы с ними. Inputstring - предок всех классов входных потоков. В нем определены основные методы ввода данных:

Read - читает из потока 1 байт, массив или часть массива байтов, возвращает прочитанные байты или -1, если встретился конец потока.

Close - закрывает входной поток и освобождает все системные ресурсы, связанные с ним. Входной поток не может использоваться после вызова данного метода.

Класс Outputstring - предок всех классов выходных потоков, в нем определены основные методы вывода данных:

Write - записывает в потока 1 байт, массив или часть массива байтов

Close - закрывает выходной поток и освобождает все системные ресурсы, связанные с ним.

Непосредственными наследниками классов Inputstring и Outputstring являются классы:

FilterInputString и OutputSString. Используются для фильтрации входных и выходных потоков. При созаднии классов FilterInputString определяется OutputSString данные которого подлежат фильтрации. При вызове FilterInputString вызывает метод … , а затем возвращает отфильтрованную информацию. Аналогично ведет себя и работает класс FilterInputString. По сути эти классы не работают с данными на прямую. Данные предоставляют их подклассы, которые называются DataInputString и DataOutputString

DataInputString - считывает байты из потока данных и преобразует их в двоичный формат. Данный класс имеет … класс DataOutputString дает возможность записывать данные в двоичном формате и передавать их своему супер-классу.

При создании объекта DataInputString его конструктору необходимо переопределить объект класса InputString данные которого будут фильтроваться. При этом используется следующие методы:

read ()

readln () - читает символы из потока,пока не встретит символ перевода строки, перевода коретки. Возвращаемая строка символов признака окончания не содержит. Аналогично работает класс DataOutPutString, который оперирует методом Size - выдает размер выведенной информации на текущий момент. Классы DataInputStream DataOutputStream работают с простыми данными. это св-во можно использовать для взаимодействия различных Java-программ и CGI-модулей.

Пример: Java программа передает в CGI данные и получает от неё результат, которые выводит в окно апплета. Строка содержит url запрос CGI программы. Для этого необходимо открыть соединение и оставить его для метода передачи

String query = …

try {

URL u=new URL (‘ … CGI … ‘)

URL Connection us = Connection ();

us.Set DoInput (true)

us.SetAllowUser.Interraction (false)

DataOutputSream us = new

DataOutputSream

блок чтения из входного потока может осуществляться в любом месте программы jcnjhj;yjcnm cktletn проявлять в том, что в момент чтения CGI программа может быть не готова выдавать результат.

// …

}

Выводиться в результат программы в рабочий контекст Java-программы (если приложение -в приложение, если апплет - в апплет)

… close ()

} catch Example ) {} - обработка исключит сит.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]