El método disponible() de la clase PushbackInputStream en Java se usa para encontrar la cantidad de bytes que se pueden leer desde el flujo de entrada sin bloquear. Devuelve el valor estimado de este número de bytes. Puede ser bloqueado por la siguiente invocación de un método para el mismo flujo de entrada.
Sintaxis:
public int available() throws IOException
Anulaciones: este método anula el método disponible() de la clase FilterInputStream .
Parámetros: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve el número de bytes que se pueden leer del flujo de entrada sin bloquear.
Excepciones: este método lanza IOException si el flujo de entrada se cierra llamando al método close() de la misma clase o si se produce un error de E/S.
Los siguientes programas ilustran el método disponible() de la clase PushbackInputStream en el paquete IO:
Programa 1:
// Java program to illustrate // PushbackInputStream available() method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr); // Find number of bytes int total_bytes = pushbackInputStr.available(); System.out.println( "Total Bytes : " + total_bytes); } }
Total Bytes : 5
Programa 2:
// Java program to illustrate // PushbackInputStream available() method import java.io.*; public class GFG { public static void main(String[] args) throws IOException { // Create an array byte[] byteArray = new byte[] { 'G', 'E', 'E', 'K', 'S', 'F', 'O', 'R', 'G', 'E', 'E', 'K', 'S' }; // Create inputStream InputStream inputStr = new ByteArrayInputStream(byteArray); // Create object of // PushbackInputStream PushbackInputStream pushbackInputStr = new PushbackInputStream(inputStr); // Print total bytes System.out.println( "Total Bytes : " + pushbackInputStr.available()); } }
Total Bytes : 13
Referencias:
https://docs.oracle.com/javase/10/docs/api/java/io/PushbackInputStream.html#disponible()