Java — Самоучитель

  • 15. Java — Массивы
  • 16. Java — Дата и время
  • 17. Java — Регулярные выражения
  • 18. Java — Методы
  • 19.4. Java — Конструкторы и методы класса ByteArrayOutputStream

    Поток класса ByteArrayOutputStream создает буфер в памяти, и все данные, отправленные в поток, хранятся в буфере.

    Содержание

    [скрыть]

    Конструкторы

    Ниже приведен список конструкторов, предоставляемых классом ByteArrayOutputStream.

    Конструктор и описание
    1ByteArrayOutputStream()
    Конструктор создает ByteArrayOutputStream с буфером в 32 байт.
    2ByteArrayOutputStream(int a)
    Конструктор создает ByteArrayOutputStream с буфером заданного размера.

    Методы

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

    Метод и описание
    1public void reset()
    Метод сбрасывает количество действительных байт в выходном потоке байтового массива до нуля, поэтому все накопленное на выходе будет сброшено.
    2public byte[] toByteArray()
    Метод создает недавно выделенный массив байтов. Его размер будет текущим размером выходного потока, и содержимое буфера будет скопировано в него. Возвращает текущее содержимое выходного потока в виде байтового массива.
    3public String toString()
    Преобразует содержимое буфера в строку. Перевод будет выполняться в соответствии с кодировкой установленной по умолчанию. Возвращает строку, переведенную из содержимого буфера.
    4public void write(int w)
    Запись указанного массива в выходной поток.
    5public void write(byte []b, int of, int len)
    Запись len количества байтов, начиная смещение с of.
    6public void writeTo(OutputStream outSt)
    Запись всего содержимого потока в указанный аргумент потока.

    Пример

    Ниже приведен пример демонстрации ByteArrayOutputStream и ByteArrayInputStream.

    import java.io.*;
    public class TestByteStream {
    
       public static void main(String args[])throws IOException {
          ByteArrayOutputStream outputByte = new ByteArrayOutputStream(12);
    
          while(outputByte.size()!= 5) {
            outputByte.write("hello".getBytes()); 
          }
          byte a [] = outputByte.toByteArray();
          System.out.println("Вывод содержимого:");
          
          for(int i = 0 ; i < a.length; i++) {
             // Вывод символов
             System.out.print((char)a[i] + " "); 
          }
          System.out.println();
          
          int b;
          ByteArrayInputStream inputByte = new ByteArrayInputStream(a);
          System.out.println("Преобразование символов в верхний регистр:" );
          
          for(int j = 0 ; j < 1; j++) {
             while(( b = inputByte.read())!= -1) {
                System.out.println(Character.toUpperCase((char)b));
             }
             inputByte.reset(); 
          }
       }
    }
    

    Получим следующий результат:

    Вывод содержимого:
    h e l l o 
    Преобразование символов в верхний регистр:
    H
    E
    L
    L
    O
    
    Поделитесь:

    Доброго времени суток!
    На сайте проводились технические работы. Если будете испытываете трудности в отображение страницы, то попробуйте выполнить следующие действия: очистить полностью кеш сайта, очистить кеш страницы (CTRL+F5), открыть страницу в режиме инкогнито (CTRL+SHIFT+N).
    По всем вопросам пишите на почту webmaster@proglang.su

    О сайте

    Все материалы сайта proglang.su являются результатом труда его авторов. Копирование материалов в некоммерческих целях без указания источника в виде прямой ссылки на сайт proglang.su запрещено. Использование материалов в коммерческих целях разрешено только с письменного согласия автора. Нарушение авторских прав преследуется по закону. Мы это делаем, чтобы защитить плоды своих трудов от воровства. © 2014-2017

    Присоединяйтесь


    Обратная связь