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(); } } } }
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