English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, entenderemos a través de un ejemplo el Reader de Java, sus subclases y sus métodos.
La clase Reader de java.io es una superclase abstracta que representa los flujos de caracteres.
Dado que Reader es una clase abstracta, no tiene efecto por sí mismo. Sin embargo, sus subclases se pueden usar para leer datos.
Para utilizar las funciones de Reader, podemos usar sus subclases. Algunas de ellas son:
En el siguiente tutorial, aprenderemos todos estos subclases.
Para crear un Reader, primero debemos importar el paquete java.io.Reader. Después de importar el paquete, podemos crear un Reader.
// Crear Reader Reader input = new FileReader();
Aquí, creamos un Reader usando la clase FileReader. Esto se debe a que Reader es una clase abstracta. Por lo tanto, no podemos crear un objeto Reader.
Nota:También podemos crear Reader a partir de otras subclases de Reader.
El método Reader proporcionado por esta clase Reader es diferente del que implementan sus subclases. A continuación, se presentan algunos métodos comunes:
ready(); - Verificar si el Reader está listo para leer
read(char[] array) - Leer caracteres desde el flujo y almacenarlos en el array especificado
read(char[] array, int start, int length)- Leer una cantidad de caracteres igual a length desde el flujo y almacenarlos en el array especificado comenzando en start
mark(); - Marcar la posición de los datos leídos en el flujo
reset(); - Restablecer el flujo. Si el flujo ya ha sido marcado, luego intentar marcarlo nuevamente para volver a ubicarse. Si el flujo no ha sido marcado, intentar restablecerlo en una ubicación apropiada para ciertos flujos específicos, por ejemplo, volviendo a su punto de partida.
skip(); -Descartar un número específico de caracteres del flujo
Así es como implementamos métodos de Reader usando la clase FileReader.
Supongamos que tenemos un archivo llamadoinput.txtEl archivo, que contiene el siguiente contenido.
Esta es una línea de texto dentro del archivo.
Vamos a intentar leer este archivo usando FileReader (un subclase de Reader).
import java.io.Reader; import java.io.FileReader; class Main { public static void main(String[] args) { // Crear un array de caracteres char[] array = new char[100]; try { //Crear un Reader usando FileReader Reader input = new FileReader("input.txt"); //Verificar si el Reader está listo System.out.println("¿Hay datos en el flujo? " ); + input.ready()); //Leer caracteres input.read(array); System.out.println("Los datos en el flujo:"); System.out.println(array); // Cerrar reader input.close(); } catch(Exception e) { e.getStackTrace(); } } }
Resultado de salida
¿Hay datos en el flujo? true Datos en el flujo: Esta es una línea de texto dentro del archivo.
En el ejemplo anterior, creamos un lector usando la clase FileReader. El lector y el archivoinput.txtenlace.
Reader input = new FileReader("input.txt");
Para leer desdeinput.txtHemos implementado estos métodos para la lectura de archivos.
input.read(); //Leer datos del reader input.close(); //Cerrar reader