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