Método PushbackReader no leído() en Java con ejemplos

El método unread() de la clase PushbackReader en Java es de tres tipos:

  1. El método no leído (int c) de la clase PushbackReader en Java se usa para retroceder un carácter copiándolo al frente del búfer de retroceso. Después de revocar este método, cuando se lee el siguiente carácter, tiene el valor igual al parámetro pasado.

    Sintaxis:

    public void unread(int c)
                throws IOException
    

    Parámetros: este método acepta un parámetro c que representa el valor entero de un carácter que se va a retroceder.

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

    Excepciones: este método lanza IOException si el búfer de retroceso está lleno o si ocurre un error de E/S.

    Los siguientes programas ilustran el método no leído (int) de la clase PushbackReader en el paquete IO:

    Programa 1:

    // Java program to illustrate
    // PushbackReader unread(int) method
      
    import java.io.*;
      
    public class GFG {
        public static void main(String[] args)
            throws IOException
        {
      
            // Create string
            String str = "GEEKS";
      
            // Create stringReader
            StringReader strReader
                = new StringReader(str);
      
            // Create object of
            // PushbackReader
            PushbackReader pushbackReader
                = new PushbackReader(strReader, 100);
      
            for (int i = 0; i < str.length(); i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
      
            // Call unread() method
            pushbackReader.unread(65);
      
            System.out.print(
                "\n"
                + (char)pushbackReader.read());
        }
    }
    Producción:

    GEEKS
    A
    

    Programa 2:

    // Java program to illustrate
    // PushbackReader unread(int) method
      
    import java.io.*;
      
    public class GFG {
        public static void main(String[] args)
            throws IOException
        {
      
            // Create string
            String str = "GEEKSFORGEEKS";
      
            // Create stringReader
            StringReader strReader
                = new StringReader(str);
      
            // Create object of
            // PushbackReader
            PushbackReader pushbackReader
                = new PushbackReader(strReader, 100);
      
            for (int i = 0; i < str.length(); i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
      
            // Call unread() method
            pushbackReader.unread('Z');
      
            System.out.print(
                "\n"
                + (char)pushbackReader.read());
        }
    }
    Producción:

    GEEKSFORGEEKS
    Z
    
  2. El método unread(char[] cbuf) de la clase PushbackReader en Java se usa para retroceder una array de caracteres copiándolos al frente del búfer de retroceso. Después de revocar este método, cuando se lee el siguiente carácter, tiene el valor igual al primer elemento de la array de caracteres.

    Sintaxis:

    public void unread(char[] cbuf)
                throws IOException
    

    Parámetros: este método acepta un parámetro cbuf que representa la array de caracteres que se va a retroceder.

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

    Excepciones: este método lanza IOException si el búfer de retroceso está lleno o si ocurre un error de E/S.

    Los siguientes programas ilustran el método no leído (char[]) de la clase PushbackReader en el paquete IO:

    Programa 1:

    // Java program to illustrate
    // PushbackReader unread(char[]) method
      
    import java.io.*;
      
    public class GFG {
        public static void main(String[] args)
            throws IOException
        {
      
            // Create string
            String str = "GEEKS";
      
            // Create stringReader
            StringReader strReader
                = new StringReader(str);
      
            // Create object of
            // PushbackReader
            PushbackReader pushbackReader
                = new PushbackReader(strReader, 100);
      
            for (int i = 0; i < str.length(); i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
      
            // Create character array
            char[] cbuf = new char[] { 'A', 'B', 'C' };
      
            // Call unread() method
            pushbackReader.unread(cbuf);
      
            System.out.println();
      
            for (int i = 0; i < cbuf.length; i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
        }
    }
    Producción:

    GEEKS
    ABC
    

    Programa 2:

    // Java program to illustrate
    // PushbackReader unread(char[]) method
      
    import java.io.*;
      
    public class GFG {
        public static void main(String[] args)
            throws IOException
        {
      
            // Create string
            String str = "GEEKSFORGEEKS";
      
            // Create stringReader
            StringReader strReader
                = new StringReader(str);
      
            // Create object of
            // PushbackReader
            PushbackReader pushbackReader
                = new PushbackReader(strReader, 100);
      
            for (int i = 0; i < str.length(); i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
      
            // Create character array
            char[] cbuf = new char[] { 'X', 'Y', 'Z' };
      
            // Call unread() method
            pushbackReader.unread(cbuf);
      
            System.out.println();
      
            for (int i = 0; i < cbuf.length; i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
        }
    }
    Producción:

    GEEKSFORGEEKS
    XYZ
    
  3. El método unread(char[] cbuf, int offset, int length) de la clase PushbackReader en Java se usa para retroceder una parte de una array de caracteres copiándolos al frente del búfer de retroceso. Después de revocar este método, cuando se lee el siguiente carácter, tiene el valor igual al primer elemento de la porción de la array de caracteres dada.

    Sintaxis:

    public void unread(char[] cbuf,
                       int offset,
                       int length)
                throws IOException
    

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

    • cbuf : representa la array de caracteres cuya parte se va a insertar.
    • offset : representa el índice de inicio de la parte de la array de caracteres.
    • longitud : representa la cantidad de caracteres que se van a empujar.

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

    Excepciones: este método lanza IOException si no hay suficiente espacio en el búfer de retroceso o si ocurre un error de E/S.

    Los siguientes programas ilustran el método no leído (char[], int, int) de la clase PushbackReader en el paquete IO:

    Programa 1:

    // Java program to illustrate
    // PushbackReader
    // unread(char[], int, int) method
      
    import java.io.*;
      
    public class GFG {
        public static void main(String[] args)
            throws IOException
        {
      
            // Create string
            String str = "GEEKS";
      
            // Create stringReader
            StringReader strReader
                = new StringReader(str);
      
            // Create object of
            // PushbackReader
            PushbackReader pushbackReader
                = new PushbackReader(strReader, 100);
      
            for (int i = 0; i < str.length(); i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
      
            // Create character array
            char[] cbuf
                = new char[] { 'A', 'B', 'C',
                               'D', 'E' };
      
            // Call unread() method
            pushbackReader.unread(cbuf, 2, 3);
      
            System.out.println();
      
            for (int i = 0; i < 3; i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
        }
    }
    Producción:

    GEEKS
    CDE
    

    Programa 2:

    // Java program to illustrate
    // PushbackReader
    // unread(char[], int, int) method
      
    import java.io.*;
      
    public class GFG {
        public static void main(String[] args)
            throws IOException
        {
      
            // Create string
            String str = "GEEKSFORGEEKS";
      
            // Create stringReader
            StringReader strReader
                = new StringReader(str);
      
            // Create object of
            // PushbackReader
            PushbackReader pushbackReader
                = new PushbackReader(strReader, 100);
      
            for (int i = 0; i < str.length(); i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
      
            // Create character array
            char[] cbuf
                = new char[] { 'W', 'X',
                               'Y', 'Z' };
      
            // Call unread() method
            pushbackReader.unread(cbuf, 1, 3);
      
            System.out.println();
      
            for (int i = 0; i < 3; i++) {
                System.out.print(
                    (char)pushbackReader.read());
            }
        }
    }
    Producción:

    GEEKSFORGEEKS
    XYZ
    

Referencias:
1. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackReader.html#unread(int)
2. https://docs.oracle.com/javase/10/ docs/api/java/io/PushbackReader.html#unread(char%5B%5D)
3. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackReader.html#unread( char%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 *