
Ввод/вывод 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 ) {} - обработка исключит сит.