Latest web development tutorials

classe Java ByteArrayInputStream

flusso di input di byte in memoria per creare un flusso di input array di buffer di byte per leggere i dati da un array di byte memorizzati nel buffer. Creare un flusso di byte di ingresso gamma oggetti Ci sono diversi modi.

Ricevere array di byte come parametro per creare:

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

Un altro modo per creare è quello di ricevere un array di byte, e due variabile intera off, len, rappresenta il via la prima lettura di byte, len indica la lunghezza di byte letti.

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

Dopo che l'oggetto flusso di input di byte è stato creato con successo, è possibile visualizzare il seguente elenco di metodi, convezione operazione di lettura o altre operazioni.

No. metodo Descrizione
1 public int read ()
Questo flusso di input per leggere il successivo byte di dati.
2 public int read (byte [] r , int off, int len)
I più len byte di dati da questo flusso di input in un array di byte.
3 public int disponibili ()
I ritorni non possono bloccare questo ingresso il numero di byte letti dal flusso.
4 segno di public void (int lettura)
Impostare il flusso in corrispondenza della posizione corrente marcatore.
5 lungo salto pubblico (lunga n)
Da questo flusso di input per saltare n byte di ingresso.

Esempi

L'esempio seguente dimostra l'uso di ByteArrayInputStream e 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();
      }
   }
}

Gli esempi sopra risultati elaborati sono i seguenti:

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