Latest web development tutorials

Klasa Java ByteArrayOutputStream

Tablica bajtów strumienia wyjściowego w pamięci, aby utworzyć szereg bajtów bufor, wszystkie dane są wysyłane do strumienia wyjściowego jest przechowywany w buforze tablicy bajtów. Tworzenie strumienia wyjściowego tablica bajtów obiektów Istnieje kilka sposobów.

Poniższy Konstruktor tworzy 32-bajtowy (domyślny rozmiar bufora).

OutputStream bOut = new ByteArrayOutputStream();

Innym Konstruktor tworzy bufor o wielkości n bajtów.

OutputStream bOut = new ByteArrayOutputStream(int a)

Po strumień wyjściowy obiektu tablica bajtów zostanie pomyślnie utworzony, można zobaczyć następujący wykaz metod, konwekcja pisać lub innych operacji.

Nie. metoda Opis
1 public void reset ()
Ta tablica bajtów strumień wyjściowy count jest wyzerowany dziedzinie, a tym samym odrzucając strumienia wyjściowego wszystkie dane aktualnie zgromadzoną wyjście.
2 Bajt publicznej [] toByteArray ()
Tworzy nowo przydzielonego tablicy bajtów. Powierzchnia matrycy i wielkości dotyczące strumienia wyjściowego, zawartość jest kopią bieżącego strumienia wyjściowego.
3 public String toString ()
Zawartość bufora na ciąg znaków, według domyślnego kodowania znaków platformy bajtów na znaki.
4 public void write (int w)
Podany bajt bajt do tego strumienia wyjściowego tablicą.
5 public void write (byte [] b , int w, int len)
Podany tablica bajtów zaczynając offsetowych off rozpoczynających len bajtów zapisanych do tej bajtów strumienia wyjściowego tablicą.
6 public void writeTo (OutputStream outSt)
Cała zawartość tej tablicy bajtów wyjściowego strumienia do określonego strumienia wyjściowego argumentu.

Przykłady

Poniższy przykład demonstruje użycie ByteArrayInputStream i 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(); 
      }
   }
}

Powyższe przykłady zebrane wyniki przedstawiają się następująco:

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