Latest web development tutorials

Java ByteArrayInputStream Klasse

Byte-Array-Eingangsstrom im Speicher einen Puffer Byte-Array-Eingangsstrom zu erstellen, um Daten aus einem Array von Bytes in dem Puffer gespeichert zu lesen. Erstellen Sie ein Byte-Array Input-Stream-Objekte Es gibt mehrere Möglichkeiten.

Erhalten Byte-Array als Parameter zu erstellen:

ByteArrayInputStream bArray = new ByteArrayInputStream(byte [] a);

Eine andere Möglichkeit, zu schaffen, ist ein Byte-Array zu empfangen, und zwei ganzzahlige Variable ab, len, stellt off das erste Byte zu lesen, zeigt len ​​die Länge der zu lesenden Bytes.

ByteArrayInputStream bArray = new ByteArrayInputStream(byte []a, 
                                                       int off, 
                                                       int len)

Nachdem das Byte-Array-Objekt Eingabestrom erfolgreich erstellt wurde, können Sie die folgende Liste von Methoden, Konvektion Lesevorgang oder andere Operationen zu sehen.

Nein. Methode Beschreibung
1 public int read ()
Dieser Eingangsstrom, der das nächste Daten-Byte zu lesen.
2 public int read (byte [] r , int off, int len)
Die len Datenbytes von dieser Eingabestrom in eine Reihe von Bytes.
3 public int vorhanden ()
Die Erträge können nicht dieser Eingang die Anzahl von Bytes aus dem Stream gelesen werden blockiert.
4 public void mark (int lesen)
Stellen Sie den Strom an der aktuellen Position.
5 public long skip (long n)
Von diesem Eingangsstrom zu überspringen n Bytes der Eingabe.

Beispiele

Das folgende Beispiel zeigt die Verwendung von ByteArrayInputStream und 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;

      ByteArrayInputStream bInput = new ByteArrayInputStream(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();
      }
   }
}

Die obigen Beispiele kompilierten Ergebnisse sind wie folgt:

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