El método disponible() de la clase FileInputStream se usa para devolver el número estimado de bytes restantes que se pueden leer desde el flujo de entrada sin bloquear. Este método devuelve el número de bytes que quedan por leer del archivo. Cuando un archivo se lee por completo, esta función devuelve cero.
Sintaxis:
FileInputStream available()
Valor devuelto: el método devuelve y estima el número de bytes restantes leídos de este flujo de entrada sin bloquear.
Excepción: este método puede generar excepciones como IOException o FileNotFoundException. Estas excepciones se describen a continuación.
- IOException: si el flujo de entrada del archivo se ha cerrado llamando a close o si se produce algún error de E/S.
- FileNotFoundException: si ese directorio no está disponible, obtendremos la excepción FileNotFoundException.
¿Cómo invocar el método disponible()?
Paso 1: adjunte un archivo a FileInputStream, ya que esto nos permitirá leer los datos del archivo como se muestra a continuación:
FileInputStream fileInputStream = new FileInputStream(“file.txt”);
Paso 2: ahora, para leer los datos del archivo sobre la cantidad de datos disponibles para leer, debemos llamar a un método disponible usando el objeto FileInputStream como se muestra a continuación;
int ch = fileInputStream.available();
Paso 3(a): cuando no hay más datos disponibles para seguir leyendo, el método disponible() devuelve 0;
Paso 3(b): Luego, debemos conectar el monitor al flujo de salida. Para mostrar los datos, podemos usar System.out.print.
System.out.print(ch);
Implementación
Contenido del archivo original: archivo.txt
GeeksforGeeks
Este programa leerá un archivo y devolverá cuántos caracteres quedan por leer cada vez.
Java
// Java program to demonstrate the working // of the FileInputStream available() method import java.io.File; import java.io.FileInputStream; public class abc { public static void main(String[] args) { // Creating file object and specifying path File file = new File("file.txt"); try { FileInputStream input = new FileInputStream(file); int character; // read character by character by default // read() function return int between 0 and 255. while ((character = input.read()) != -1) { int ch = input.available(); System.out.print("Currently Reading:" + (char)character); System.out.print(" Remaining character: " + ch); System.out.println(); } input.close(); } catch (Exception e) { e.printStackTrace(); } } }
Producción
Currently Reading:G Remaining character: 12 Currently Reading:e Remaining character: 11 Currently Reading:e Remaining character: 10 Currently Reading:k Remaining character: 9 Currently Reading:s Remaining character: 8 Currently Reading:f Remaining character: 7 Currently Reading:o Remaining character: 6 Currently Reading:r Remaining character: 5 Currently Reading:G Remaining character: 4 Currently Reading:e Remaining character: 3 Currently Reading:e Remaining character: 2 Currently Reading:k Remaining character: 1 Currently Reading:s Remaining character: 0
Publicación traducida automáticamente
Artículo escrito por akshitsaxenaa09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA