BufferedInputStream método read() en Java con ejemplos

  1. El método read() de la clase BufferedInputStream en Java se usa para leer el siguiente byte de datos del flujo de entrada. Cuando se llama a este método read() en el flujo de entrada, este método read() lee un carácter del flujo de entrada a la vez.

    Sintaxis:

    public int read()
    

    Anula:
    anula el método read() de la clase FilterInputStream .

    Parámetros: Este método no acepta ningún parámetro.

    Valor devuelto : este método no devuelve ningún valor.

    Excepción: este método lanza IOException si el flujo de entrada se ha cerrado al invocar su método close() o si se produce un error de E/S.

    El siguiente programa ilustra el método read() en la clase BufferedInputStream en el paquete IO:

    Programa: Suponga la existencia del archivo “c:/demo.txt”.

    // Java program to illustrate
    // BufferedInputStream read() method
      
    import java.io.*;
      
    public class GFG {
        public static void main(String[] args)
            throws Exception
        {
      
            // Create input stream 'demo.txt'
            // for reading containing
            // text "GEEKSFORGEEKS"
            FileInputStream inputStream
                = new FileInputStream("c:/demo.txt");
      
            // Convert inputStream to
            // bufferedInputStream
            BufferedInputStream buffInputStr
                = new BufferedInputStream(
                    inputStream);
      
            // Read until a single byte is available
            while (buffInputStr.available() > 0) {
      
                // Read the byte and
                // convert the integer to character
                char c = (char)buffInputStr.read();
      
                // Print the characters
                System.out.println("Char : " + c);
            }
        }
    }
    Aporte:
    Producción:
  2. El método read(byte[ ] b, int off, int len) de la clase BufferedInputStream en Java se usa para leer bytes del flujo de entrada de bytes en la array de bytes especificada que comienza en el desplazamiento proporcionado por el usuario. Básicamente se usa para comenzar a leer después de conservar los caracteres en una array.

    Implementación:

    • En la implementación de este método, el método read() se llama una y otra vez. Al llamar a este método si se encuentra una IOException, devuelve la excepción de la llamada al método read(byte[ ] b, int off, int len).
    • Si se encuentra más IOException, detecta la excepción y se supone que el archivo de entrada finaliza.
    • Los bytes que se leen hasta ese punto se almacenan en la array de bytes b y se devuelve el número de bytes leídos antes de que ocurra la excepción.

    Sintaxis:

    public int read(byte[] b,
                    int off,
                    int len)
    

    Anula:
    anula el método read() de la clase FilterInputStream .

    Parámetros: Este método acepta tres parámetros.

    • b – Representa el búfer de destino.
    • off : representa el desplazamiento en el que se iniciaría el almacenamiento de bytes.
    • len – Representa el número máximo de bytes a leer.

    Valor devuelto : este método no devuelve ningún valor.

    Excepción: este método lanza IOException si el flujo de entrada se ha cerrado al invocar su método close() o si se produce un error de E/S.

    El siguiente programa ilustra el método de lectura (byte, int, int) en la clase BufferedInputStream en el paquete IO:

    Programa: Suponga la existencia del archivo “c:/demo.txt”.

    // Java program to illustrate
    // BufferedInputStream
    // read(byte int int) method
      
    import java.io.*;
    public class GFG {
        public static void main(String[] args)
        {
      
            // Create input stream 'demo.txt'
            // for reading containing
            // text "GEEKSFORGEEKS"
            FileInputStream inputStream
                = new FileInputStream("c:/demo.txt");
      
            // Convert inputStream to
            // bufferedInputStream
            BufferedInputStream buffInputStr
                = new BufferedInputStream(
                    inputStream);
      
            // Read number of bytes available
            int rem_byte = buffInputStr.available();
      
            // Byte array is declared
            byte[] barr = new byte[rem_byte];
      
            // Read byte into barr,
            // starts at offset 1,
            // 5 bytes to read
            buffInputStr.read(barr, 1, 5);
      
            // For each byte in barr
            for (byte b : barr) {
                if (b == (byte)0)
                    b = (byte)'-';
                System.out.print((char)b);
            }
        }
    }
    Aporte:
    Producción:

Referencias:
1. https://docs.oracle.com/javase/10/docs/api/java/io/BufferedInputStream.html#read()
2. https://docs.oracle.com/javase/10/docs /api/java/io/BufferedInputStream.html#read(byte%5B%5D, int, int)

Publicación traducida automáticamente

Artículo escrito por pp_pankaj 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 *