Clase Java.io.ByteArrayInputStream en Java

La clase ByteArrayInputStream del paquete java.io contiene todos los búferes, que contienen bytes para leer desde el flujo de entrada. No hay excepción de IO en el caso de los métodos de clase ByteArrayInputStream. Los métodos de esta clase se pueden llamar incluso después de cerrar el Stream, no tiene ningún efecto sobre los métodos de la clase. La vista de clase es la siguiente: 

--> java.io Package
    --> ByteArrayInputStream Class  

Sintaxis: 

public class ByteArrayInputStream
extends InputStream

Hay ciertos campos:

  • byte protegido [] buf: una array de bytes proporcionada por el creador de la secuencia.
  • recuento int protegido: el índice uno es mayor que el último carácter válido en el búfer del flujo de entrada.
  • protected int mark: La posición marcada actualmente en la secuencia.
  • protegido int pos: este es el índice del siguiente carácter para leer desde el búfer de flujo de entrada.

Constructor de la clase ByteArrayInputStream

Constructor Acción realizada
ByteArrayInputStream(byte[] búfer)  Crea ByteArrayInputStream para usar una array de búfer: «búfer».
ByteArrayInputStream(byte[] buf, compensación int, longitud int)  Crea ByteArrayInputStream que usa una parte del «búfer», es decir, una array de búfer

Métodos de la clase ByteArrayInputStream

Método  Acción realizada
disponible() Indica el número total de bytes del flujo de entrada que se leerán.
cerca() Cierra el flujo de entrada y libera recursos del sistema.
Marcos() Marca la posición actual del flujo de entrada, lo que significa establecer el límite de lectura. 
marcaCompatible() Comprueba si este flujo de entrada es compatible con el método de marcar y restablecer.
leer() Lee el siguiente byte de datos del flujo de entrada.
Reiniciar() Reposiciona el flujo de entrada a la posición marcada y se llama método mark() 
saltar() Omite los «argumentos» en el flujo de entrada.

Implementación:

Java

// Java Program to Demonstrate ByteArrayInputStream Class
// Via mark(), read(), skip(), available(),
// markSupported(), close(), reset() Method
 
// Importing required classes
import java.io.*;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args) throws Exception
    {
 
        // Declaring and initialiazing byte array
        byte[] buffer = { 71, 69, 69, 75, 83 };
        ByteArrayInputStream geek = null;
 
        // Try block to check for exceptions
        try {
            geek = new ByteArrayInputStream(buffer);
 
            // Telling the no. of bytes to be read
            // using available() method
            int number = geek.available();
            System.out.println(
                "Use of available() method : " + number);
 
            // Reading and printing Characters one by one
            // using read() method
            System.out.println("\nChar : "
                               + (char)geek.read());
            System.out.println("Char : "
                               + (char)geek.read());
            System.out.println("Char : "
                               + (char)geek.read());
 
            // Usage of mark() method
            geek.mark(0);
 
            // Skipping 'k' from "GEEKS"
            // using skip() method
            geek.skip(1);
            System.out.println(
                "skip() method comes to play");
            System.out.println(
                "mark() method comes to play");
            System.out.println("Char : "
                               + (char)geek.read());
 
            // Usage of markSupported() method
            boolean check = geek.markSupported();
            System.out.println("\nmarkSupported() : "
                               + check);
 
            if (geek.markSupported()) {
 
                // Repositioning the stream to marked
                // positions using reset() method
                geek.reset();
 
                System.out.println("\nreset() invoked");
                System.out.println("Char : "
                                   + (char)geek.read());
                System.out.println("Char : "
                                   + (char)geek.read());
            }
            else {
                System.out.println(
                    "reset() method not supported.");
            }
 
            System.out.println(
                "geek.markSupported() supported reset() : "
                + check);
        }
 
        // Catch block to habnfle the exception s
        catch (Exception except) {
 
            // Displaying the exception along with line
            // number using printStackTrace() method
            except.printStackTrace();
        }
 
        // finally block that execute for sure
        finally {
 
            // Releasing the resources back to GC when
            // closes
            if (geek != null) {
 
                // Closing the file and releasing resources
                // using close() method
                geek.close();
            }
        }
    }
}
Producción

Use of available() method : 5

Char : G
Char : E
Char : E
skip() method comes to play
mark() method comes to play
Char : S

markSupported() : true

reset() invoked
Char : K
Char : S
geek.markSupported() supported reset() : true

Este artículo es una contribución de Mohit Gupta . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente. 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *