El método read() de PushbackReader Class en Java se usa para leer un solo carácter de la secuencia. Este método bloquea la transmisión hasta que:
- Ha tomado algo de entrada de la corriente.
- Se ha producido alguna IOException
- Ha llegado al final de la secuencia durante la lectura.
Sintaxis:
public int read()
Parámetros: este método no acepta ningún parámetro
Valor devuelto: este método devuelve un valor entero que es el valor entero leído de la secuencia. Puede variar de 0 a 65535. De lo contrario, devuelve -1 si no se ha leído ningún carácter.
Excepción: este método lanza IOException si ocurre algún error durante la entrada de salida.
Los siguientes métodos ilustran el funcionamiento del método read():
Programa 1:
// Java program to demonstrate // PushbackReader read() method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { // Initializing a StringReader // and PushbackReader String s = "GeeksForGeeks"; StringReader stringReader = new StringReader(s); PushbackReader pushbackReader = new PushbackReader(stringReader); // Get the character // to be read from the stream int ch; // Read the first 5 characters // to this reader using read() method // This will put the str in the stream // till it is read by the reader for (int i = 0; i < 5; i++) { ch = pushbackReader.read(); System.out.println("\nInteger value " + "of character read: " + ch); System.out.println("Actual " + "character read: " + (char)ch); } // Close the stream using read() pushbackReader.close(); System.out.println("Stream Closed."); } catch (Exception e) { System.out.println(e); } } }
Producción:
Integer value of character read: 71 Actual character read: G Integer value of character read: 101 Actual character read: e Integer value of character read: 101 Actual character read: e Integer value of character read: 107 Actual character read: k Integer value of character read: 115 Actual character read: s Stream Closed.
Programa 2:
// Java program to demonstrate // PushbackReader read() method import java.io.*; import java.util.*; class GFG { public static void main(String[] args) { try { // Initializing a StringReader // and PushbackReader String s = "GFG"; StringReader stringReader = new StringReader(s); PushbackReader pushbackReader = new PushbackReader(stringReader); // Get the character // to be read from the stream int ch; // Read the first 2 characters // to this reader using read() method // This will put the str in the stream // till it is read by the reader for (int i = 0; i < 2; i++) { ch = pushbackReader.read(); System.out.println("\nInteger value " + "of character read: " + ch); System.out.println("Actual " + "character read: " + (char)ch); } // Close the stream pushbackReader.close(); System.out.println("Stream Closed."); } catch (Exception e) { System.out.println(e); } } }
Producción:
Integer value of character read: 71 Actual character read: G Integer value of character read: 70 Actual character read: F Stream Closed.
Referencia: https://docs.oracle.com/javase/9/docs/api/java/io/PushbackReader.html#read–