Главная » Java » Байтовые потоки ByteArray в Java

0

 

  Массивы байтов, размещенные в оперативной памяти, могут выступать в роли источника или получателя данных при работе с потоками семейства ByteArray.

  Объект класса ByteArraylnputStream использует массив типа byte в качестве источника данных. В составе класса предусмотрены два конструктора, описанные ниже.

 

public ByteArraylnputStream(byte[]  buf,  int offset,   int count)

Создает объект потока ByteArraylnputStream на основе части заданного массива байтов buf, начиная с элемента buf[offset] и заканчивая buf [offset+count-1] либо последним элементом массива, в зависимости от того, какой из двух будет достигнут раньше. Массив используется непосредственно (он не копируется), поэтому в процессе ввода данные изменять не следует.

Public ByteArraylnputStream(byte[]  buf)

Конструктор            аналогичен       предыдущему                при        условии

ByteArrayinputStream(buf,   0,   buf.length).

 

Ввод данных из потока ByteArraylnputStream никогда не блокируется.

 

    В составе класса ByteArrayOutputStream предусмотрены средства динами-еского наращивания объема массива типа byte, получающего выводимые дан-ые. Перечислим конструкторы и методы класса.

Public ByteArrayOutputStream()

Создает объект потока ByteArrayOutputStream, предусматривающий вывод Данных в массив типа byte с размером, предусмотренным по умолчанию.

 Public ByteArrayOutputstream(int size)

Создает объект потока ByteArrayOutputStream, предусматривающий вывод данных в массив типа byte заданного размера size.

public byte[]   toByteArray()

     Возвращает копию массива байтов, ранее выведенных потоком.

public int size()

     Возвращает значение количества байтов, ранее выведенных потоком.

public void  reset()

      Очищает буфер-массив потока, позволяя использовать его заново.

public String toString()

Возвращает текущее содержимое буфера-массива в виде объекта типа String, преобразуя байты в символы в соответствии с кодировкой символов, принятой по умолчанию.

public String toString(String enc)

          throws UnsupportedEncodingException

Возвращает текущее содержимое буфера-массива в виде, объекта типа String, преобразуя байты в символы в соответствии с кодировкой символов, заданной строкой епс. Если указанная кодировка не поддерживается, выбрасывается исключение типа UnsupportedEncodingException.

public void writeTo(OutputStream out)  throws  lOException

       Выводит текущее содержимое массива-буфера в заданный поток out.

 

   Если ByteArrayOutputStream используется в качестве получателя данных, выводимых из "внешних" фильтрованных потоков, прежде чем обратиться к методу tOByteArray, следует выполнить операцию сброса (flush) фильтрованных потоков.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии