Clase de lector de archivos Java
Clase de lector de archivos Java
En este tutorial, aprenderemos sobre Java FileReader y sus métodos con la ayuda de ejemplos.
El FileReader
clase del java.io
El paquete se puede usar para leer datos (en caracteres) de archivos.
Extiende el InputSreamReader
clase.
Antes de aprender sobre FileReader
, asegúrese de conocer el archivo Java.
Crear un lector de archivos
Para crear un lector de archivos, debemos importar el java.io.FileReader
paquete primero. Una vez que importamos el paquete, así es como podemos crear el lector de archivos.
FileReader input = new FileReader(String name);
Aquí, hemos creado un lector de archivos que se vinculará al archivo especificado por el nombre .
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 en el archivo se almacenan utilizando alguna codificación de caracteres predeterminada.
Sin embargo, desde Java 11 podemos especificar el tipo de codificación de caracteres (UTF-8 o UTF-16 ) en el archivo también.
FileReader input = new FileReader(String file, Charset cs);
Aquí, hemos usado el Charset
class para especificar la codificación de caracteres del lector de archivos.
Métodos de FileReader
El FileReader
La clase proporciona implementaciones para diferentes métodos presentes en el Reader
clase.
método read()
read()
- lee un solo carácter del lectorread(char[] array)
- lee los caracteres del lector y los almacena en la matriz especificadaread(char[] array, int start, int length)
- lee el número de caracteres igual a longitud del lector y se almacena en la matriz especificada a partir de la posición inicio
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
Data in the file: This is a line of text inside the file.
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.
Nota :El archivo input.txt debe estar presente en el directorio de trabajo actual.
Método getEncoding()
El getEncoding()
El método se puede usar para obtener el tipo de codificación que se usa 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
The character encoding of input1: Cp1252 The character encoding of input2: UTF8
En el ejemplo anterior, hemos creado 2 lectores de archivos llamados input1 y entrada2 .
- entrada1 no especifica la codificación de caracteres. De ahí el
getEncoding()
El método devuelve la codificación de caracteres predeterminada. - entrada2 especifica la codificación de caracteres, UTF8 . De ahí el
getEncoding()
El 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 cerrar()
Para cerrar el lector de archivos, podemos usar el close()
método. Una vez que el close()
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 del lector donde se fijó la marca |
Para obtener más información, visite Java FileReader (documentación oficial de Java).
Java