Latest web development tutorials

clase Java ByteArrayInputStream

flujo de entrada matriz de bytes en la memoria para crear un flujo de entrada matriz de bytes búfer para leer datos de una matriz de bytes almacenados en la memoria intermedia. Crear un flujo de bytes de entrada de gama objetos Existen varias formas.

Recibe matriz de bytes como parámetro para crear:

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

Otra forma de crear es recibir una matriz de bytes, y dos variable entera apagado, len, fuera representa la primera lectura de bytes, len indica la longitud de bytes leídos.

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

Después de que el objeto de flujo de entrada de matriz de bytes se crea correctamente, se puede ver la siguiente lista de métodos, operación de lectura de convección u otras operaciones.

No. Descripción del método
1 public int read ()
Este flujo de entrada para leer el siguiente byte de datos.
2 public int read (byte [] r , int off, int len)
Los más len bytes de datos de este flujo de entrada en una matriz de bytes.
3 int público disponible ()
Las devoluciones no pueden estar bloqueando esta entrada el número de bytes leídos de la corriente.
4 marca public void (int leer)
Ajuste la corriente en la posición del marcador actual.
5 salto largo público (larga n)
A partir de este flujo de entrada para saltar n bytes de entrada.

Ejemplos

El siguiente ejemplo muestra el uso de ByteArrayInputStream y 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();
      }
   }
}

Los ejemplos anteriores resultados compilados son los siguientes:

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