En este tutorial, aprenderemos sobre Java Reader, sus subclases y sus métodos con la ayuda de un ejemplo.
La Reader
clase del java.io
paquete es una superclase abstracta que representa un flujo de caracteres.
Dado que Reader
es una clase abstracta, no es útil por sí misma. Sin embargo, sus subclases se pueden utilizar para leer datos.
Subclases de lector
Para usar la funcionalidad de Reader
, podemos usar sus subclases. Algunos de ellos son:
- BufferedReader
- InputStreamReader
- FileReader
- StringReader
Aprenderemos sobre todas estas subclases en el próximo tutorial.
Crear un lector
Para crear un Reader
, java.io.Reader
primero debemos importar el paquete. Una vez que importamos el paquete, así es como podemos crear el lector.
// Creates a Reader Reader input = new FileReader();
Aquí, hemos creado un lector usando la FileReader
clase. Es porque Reader
es una clase abstracta. Por tanto, no podemos crear un objeto de Reader
.
Nota : También podemos crear lectores a partir de otras subclases de Reader
.
Métodos de lectura
La Reader
clase proporciona diferentes métodos que son implementados por sus subclases. Estos son algunos de los métodos más utilizados:
ready()
- comprueba si el lector está listo para ser leídoread(char() array)
- lee los caracteres de la secuencia y los almacena en la matriz especificadaread(char() array, int start, int length)
- lee el número de caracteres igual a la longitud de la secuencia y los almacena en la matriz especificada comenzando desde el principiomark()
- marca la posición en la secuencia hasta la que se han leído los datosreset()
- devuelve el control al punto de la secuencia donde se establece la marcaskip()
- descarta el número especificado de caracteres de la secuencia
Ejemplo: Reader con FileReader
Así es como podemos implementar Reader
usando la FileReader
clase.
Supongamos que tenemos un archivo llamado input.txt con el siguiente contenido.
This is a line of text inside the file.
Intentemos leer este archivo usando FileReader
(una subclase de Reader
).
import java.io.Reader; import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader Reader input = new FileReader("input.txt"); // Checks if reader is ready System.out.println("Is there data in the stream? " + input.ready()); // Reads characters input.read(array); System.out.println("Data in the stream:"); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Salida
¿Hay datos en la transmisión? true Datos en la secuencia: esta es una línea de texto dentro del archivo.
En el ejemplo anterior, hemos creado un lector usando la FileReader
clase. El lector está vinculado con el archivo input.txt .
Reader input = new FileReader("input.txt");
Para leer datos del archivo input.txt , hemos implementado estos métodos.
input.read(); // to read data from the reader input.close(); // to close the reader
Para obtener más información, visite Java Reader (documentación oficial de Java).