Microsoft Visual J++. Создание приложений и аплетов на языке Java

Метод init


В начале своей работы метод init записывает в поле sOut текстовую строку, которая будет записана в выходной поток:

String sOut;

sOut = "Hello, Java!";

Далее метод init создает поток baStream класса ByteArrayOutputStream, устанавливая начальный размер выделенного для него массива равным 255 байт:

ByteArrayOutputStream baStream =

  new ByteArrayOutputStream(255);

Для выполнения форматированного вывода нам нужен поток класса DataOutputStream, который мы и создаем на базе потока baStream:

OutStream = new DataOutputStream(

  new BufferedOutputStream(baStream));

Для записи строки в выходной поток мы воспользовались методом writeBytes:

OutStream.writeBytes(sOut);

Так как наш выходной поток буферизован, после вызова метода writeBytes данные могут остаться в промежуточном буфере, не достигнув массива, выделенного для хранения потока. Чтобы переписать данные из буфера в массив, мы выполняем сброс буфера методом flush:

OutStream.flush();

После сброса буфера (и только после этого) можно копировать содержимое потока методом toByteArray:

bMemStream = baStream.toByteArray();

Этот метод возвращает ссылку на созданный массив, которую мы записываем в поле bMemStream. В дальнейшем на базе этого массива мы создадим поток ввода.

Перед завершением своей работы метод init закрывает входной поток,вызывая метод close:

OutStream.close();



Содержание раздела