Класс Java ByteArrayOutputStream
выходной поток массив байтов в памяти, чтобы создать массив буфера байтов, все данные, передаваемые в выходной поток сохраняется в буфере массива байтов. Создать байт выходной массив объектов потока Есть несколько способов.
Следующий конструктор создает буфер 32 байта (размер по умолчанию).
OutputStream bOut = new ByteArrayOutputStream();
Другой конструктор создает буфер размером п байт.
OutputStream bOut = new ByteArrayOutputStream(int a)
После того, как массив байтов объект выходной поток успешно создан, вы можете увидеть следующий список методов, конвекция записи или других операций.
Нет. | Метод Описание |
---|---|
1 | общественного недействительными сброса () Этот массив байт выходной поток count сбрасывается на нулевом поле, тем самым отбрасывая выходной поток всех данных в настоящее время накопленный вывод. |
2 | общественный байт [] toByteArray () Создает недавно выделенный массив байтов. Размер массива и размер текущего потока вывода, содержимое представляет собой копию текущего потока вывода. |
3 | общественного Строка ToString () содержимого буфера в строку, в соответствии с кодировкой символов по умолчанию платформы байты в символы. |
4 | общественного недействительными записи (Int W) Указанный байт в этот выходной поток байтов массива. |
5 | общественного недействительными записи (байт [] б , INT из, Int LEN) Указанный массив байтов , начиная со смещения off начинающих len байтов , записанных в этом выходной массив поток байтов. |
6 | общественного недействительными WriteTo (OutputStream outSt) Все содержимое этого выходной поток массив байтов в указанный выходной поток аргумента. |
примеров
Следующий пример демонстрирует использование ByteArrayInputStream и ByteArrayOutputStream:
import java.io.*; public class ByteStreamTest { public static void main(String args[])throws IOException { ByteArrayOutputStream bOutput = new ByteArrayOutputStream(12); while( bOutput.size()!= 10 ) { // 获取用户输入 bOutput.write(System.in.read()); } byte b [] = bOutput.toByteArray(); System.out.println("Print the content"); for(int x= 0 ; x < b.length; x++) { // 打印字符 System.out.print((char)b[x] + " "); } System.out.println(" "); int c; ByteArrayOutputStream bInput = new ByteArrayOutputStream(b); System.out.println("Converting characters to Upper case " ); for(int y = 0 ; y < 1; y++ ) { while(( c= bInput.read())!= -1) { System.out.println(Character.toUpperCase((char)c)); } bInput.reset(); } } }
Приведенные выше примеры скомпилированные получены следующие результаты:
asdfghjkly Print the content a s d f g h j k l y Converting characters to Upper case A S D F G H J K L Y