La clase BufferedInputStream agrega nuevos atributos a otros flujos de entrada, la capacidad de almacenar en búfer la entrada. Cuando se crea BufferedInputStream, se crea una array de búfer interna.
El método available() de la clase BufferedInputStream se usa para conocer la cantidad de bytes disponibles para leer desde la array de búfer interna, hasta que surge una situación en la que no hay datos disponibles para leer. La invocación del método read() bloqueará el flujo de ejecución del programa y esperará a que los datos estén disponibles.
Sintaxis:
public int available()
Parámetros: Este método no toma ningún parámetro.
Valor de retorno: el método se utiliza para devolver la suma de bytes que quedan por leer de este flujo de entrada sin ningún bloqueo.
Excepción: el método lanza IOException si ocurre un error relacionado con la entrada-salida o cuando se ha utilizado el método de cierre para cerrar el flujo de entrada.
Ejemplo 1: El siguiente programa ilustra el uso del método available(), asumiendo la existencia del archivo “d:/demo.txt”.
// Java code to illustrate available() method import java.io.*; class Testing { public static void main(String[] args) throws IOException { // create input stream 'demo.txt' // for reading containing text "GEEKS" FileInputStream inputStream = new FileInputStream("d:/demo.txt"); // convert inputStream to // bufferedInputStream BufferedInputStream buffInputStr = new BufferedInputStream(inputStream); // get the number of bytes available // to read using available() method Integer remBytes = buffInputStr.available(); // Print result System.out.println( "Remaining bytes =" + remBytes); } }
Producción:
5
Ejemplo 2: El siguiente programa ilustra el uso del método available(), asumiendo la existencia del archivo “d:/demo.txt”.
// Java code to illustrate available() method import java.io.*; class Testing { public static void main(String[] args) throws IOException { // create input stream demo.txt // for reading containing text // "GEEKSFORGEEKS" FileInputStream inputStream = new FileInputStream("d:/demo.txt"); // convert inputStream to // BufferedInputStream BufferedInputStream buffInputStr = new BufferedInputStream(inputStream); // get the number of bytes available to // read using available() method Integer remBytes = buffInputStr.available(); // Print result System.out.println( "Remaining bytes =" + remBytes); } }
Producción:
13
Publicación traducida automáticamente
Artículo escrito por thatguyaneeket y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA