Java FileReader (con ejemplos)

En este tutorial, aprenderemos sobre Java FileReader y sus métodos con la ayuda de ejemplos.

La FileReaderclase del java.iopaquete se puede utilizar para leer datos (en caracteres) de archivos.

Extiende la InputSreamReaderclase.

Antes de aprender FileReader, asegúrese de conocer el archivo Java.

Crear un lector de archivos

Para crear un lector de archivos, java.io.FileReaderprimero debemos importar el paquete. Una vez que importamos el paquete, así es como podemos crear el lector de archivos.

1. Usando el nombre del archivo

 FileReader input = new FileReader(String name); 

Aquí, hemos creado un lector de archivos que estará vinculado al archivo especificado por el nombre.

2. Usando un objeto del archivo

 FileReader input = new FileReader(File fileObj); 

Aquí, hemos creado un lector de archivos que se vinculará al archivo especificado por el objeto del archivo.

En el ejemplo anterior, los datos del archivo se almacenan utilizando alguna codificación de caracteres predeterminada.

Sin embargo, desde Java 11 también podemos especificar el tipo de codificación de caracteres ( UTF-8 o UTF-16 ) en el archivo.

 FileReader input = new FileReader(String file, Charset cs); 

Aquí, hemos utilizado la Charsetclase para especificar la codificación de caracteres del lector de archivos.

Métodos de FileReader

La FileReaderclase proporciona implementaciones para diferentes métodos presentes en la Readerclase.

Método read ()

  • read() - lee un solo carácter del lector
  • read(char() array) - lee los caracteres del lector y los almacena en la matriz especificada
  • read(char() array, int start, int length) - lee el número de caracteres igual a la longitud del lector y los almacena en la matriz especificada comenzando desde el inicio de la posición

Por ejemplo, supongamos que tenemos un archivo llamado input.txt con el siguiente contenido.

 This is a line of text inside the file. 

Intentemos leer el archivo usando FileReader.

 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 FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Salida

 Datos en el archivo: esta es una línea de texto dentro del archivo. 

En el ejemplo anterior, hemos creado un lector de archivos llamado input. El lector de archivos está vinculado con el archivo input.txt .

 FileInputStream input = new FileInputStream("input.txt"); 

Para leer datos del archivo, hemos utilizado el read()método.

Método getEncoding ()

El getEncoding()método se puede utilizar para obtener el tipo de codificación que se utiliza para almacenar datos en el archivo. Por ejemplo,

 import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Salida

 La codificación de caracteres de input1: Cp1252 La codificación de caracteres de input2: UTF8 

En el ejemplo anterior, hemos creado 2 lectores de archivos llamados input1 y input2.

  • input1 no especifica la codificación de caracteres. Por lo tanto, el getEncoding()método devuelve la codificación de caracteres predeterminada.
  • input2 especifica la codificación de caracteres, UTF8 . Por lo tanto, el getEncoding()método devuelve la codificación de caracteres especificada.

Nota : hemos utilizado el Charset.forName()método para especificar el tipo de codificación de caracteres. Para obtener más información, visite Java Charset (documentación oficial de Java).

Método close ()

Para cerrar el lector de archivos, podemos usar el close()método. Una vez close()que se llama al método, no podemos usar el lector para leer los datos.

Otros métodos de FileReader

Método Descripción
ready() comprueba si el lector de archivos está listo para ser leído
mark() marcar la posición en el lector de archivos hasta la que se han leído los datos
reset() devuelve el control al punto en el lector donde se estableció la marca

Para obtener más información, visite Java FileReader (documentación oficial de Java).

Articulos interesantes...