El método read(CharBuffer) de la clase StringReader en Java se usa para leer los caracteres especificados en una instancia de CharBuffer. 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(CharBuffer charBuffer)
Parámetros: este método acepta un parámetro obligatorio charBuffer que es la instancia de CharBuffer que se escribirá en el Stream.
Valor devuelto: este método devuelve un valor entero que es el número de caracteres leídos de la secuencia. Devuelve -1 si no se ha leído ningún carácter.
Excepción: este método arroja las siguientes excepciones:
- IOException: si se produce algún error durante la salida de entrada.
- NullPointerException: si la instancia de CharBuffer a llenar es nula
- ReadOnlyBufferException: si la instancia de CharBuffer que se va a llenar es un búfer de solo lectura
Los siguientes métodos ilustran el funcionamiento del método read(CharBuffer):
Programa 1:
// Java program to demonstrate // StringReader read(CharBuffer) method import java.io.*; import java.util.*; import java.nio.CharBuffer; class GFG { public static void main(String[] args) { try { String str = "GeeksForGeeks"; // Create a StringReader instance StringReader reader = new StringReader(str); // Get the CharBuffer instance // to be read from the stream CharBuffer charBuffer = CharBuffer.allocate(5); // Read the charBuffer // to this reader using read() method // This will put the str in the stream // till it is read by the reader reader.read(charBuffer); // Print the read charBuffer System.out.println(charBuffer .flip() .toString()); reader.close(); } catch (Exception e) { System.out.println(e); } } }
Producción:
Geeks
Programa 2:
// Java program to demonstrate // StringReader read(CharBuffer) method import java.io.*; import java.util.*; import java.nio.CharBuffer; class GFG { public static void main(String[] args) { try { String str = "GeeksForGeeks"; // Create a StringReader instance StringReader reader = new StringReader(str); // Get the CharBuffer instance // to be read from the stream CharBuffer charBuffer = CharBuffer .allocate(13); // Read the charBuffer // to this reader using read() method // This will put the str in the stream // till it is read by the reader reader.read(charBuffer); // Print the read charBuffer System.out.println(charBuffer .flip() .toString()); reader.close(); } catch (Exception e) { System.out.println(e); } } }
Producción:
GeeksForGeeks
Referencia: https://docs.oracle.com/javase/9/docs/api/java/io/Reader.html#read-java.nio.CharBuffer-