Introducción
Almacenar datos en un archivo es útil para el almacenamiento permanente. En Java, hay cuatro clases que se pueden utilizar para leer archivos: FileReader, Scanner, FileInputStream y BufferedReader. Estas clases son parte del paquete java.io y se utilizan para el manejo de archivos en Java.
Crear un archivo de muestra
Comience creando un archivo de ejemplo .txt para leer. Puede utilizar cualquier editor de texto para crear este archivo, y puede contener cualquier dato que desee leer. Ejemplo:
This is the sample data stored in a file
Rahul:10025
Sohan:10026
Madan:10027
Jack:10028
Importar las clases necesarias
Para leer el archivo y convertir su contenido en una cadena, necesitará importar las siguientes clases:
import java.io.*;
Leyendo un archivo con FileReader
Utilice la clase FileReader para leer datos del archivo. Un objeto de la clase FileReader apunta al principio de un archivo. Utilice un búfer de tamaño 1 para leer cada carácter del archivo y agréguelo a una variable String.
try {
// Paso 1: Crear un nuevo objeto FileReader
FileReader fr = new FileReader("path/to/your/file.txt");
// Paso 2: Crear una variable String para almacenar el contenido del archivo
String fileData = "";
// Paso 3: Crear una variable entera para almacenar cada carácter leído
int c;
// Paso 4: Continuar leyendo el archivo hasta que se haya alcanzado el final del archivo
while ((c = fr.read())!= -1) {
// Paso 5: Agregar cada carácter leído a la cadena fileData
fileData += (char) c;
}
// Paso 6: Imprimir el contenido del archivo
System.out.println(fileData);
// Paso 7: Cerrar el lector de archivos
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
Leyendo un archivo con Scanner
Utilice la clase Scanner para leer datos de un archivo de texto. Debe proporcionar el archivo de texto como fuente de entrada al scanner, luego delimitar el scanner con el método \\Z para leer todos los datos a la vez y convertirlos en una cadena.
try {
File file = new File("path/to/file.txt");
Scanner scanner = new Scanner(file);
scanner.useDelimiter("\\Z");
String fileData = scanner.next();
System.out.println(fileData);
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Leyendo un archivo con FileInputStream
Utilice la clase FileInputStream para leer datos directamente desde el archivo en un arreglo de bytes. Cree un búfer del tamaño que desee (10 bytes en nuestro ejemplo) para almacenar temporalmente los datos leídos del archivo, luego agréguelos a un objeto StringBuilder. Finalmente, usamos el método toString() para convertir el contenido del objeto StringBuilder en una String.
try {
File file = new File("path/to/file.txt");
FileInputStream fileInputStream = new FileInputStream(file);
byte[] buffer = new byte[10];
StringBuilder stringBuilder = new StringBuilder();
int length;
while ((length = fileInputStream.read(buffer))!= -1) {
stringBuilder.append(new String(buffer, 0, length));
}
String fileData = stringBuilder.toString();
System.out.println(fileData);
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
Leyendo un archivo con BufferedReader
Utilice la clase BufferedReader para leer datos de un archivo de manera sencilla. Leerá todos los datos a la vez, y luego podrá imprimirlos línea por línea utilizando el método readLine().
try {
File file = new File("path/to/file.txt");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
String line;
while ((line = bufferedReader.readLine())!= null) {
System.out.println(line);
}
bufferedReader.close();
} catch (IOException e) {
e.printStackTrace();
}
Resumen
En este laboratorio, has aprendido cómo leer datos de un archivo a una String en Java. Hay múltiples maneras de lograr esto, incluyendo el uso de las clases FileReader, Scanner, FileInputStream y BufferedReader. Te recomendamos experimentar con estos métodos por ti mismo, para entender cómo funcionan y cuál es el más adecuado para tu caso de uso específico. Recuerda probar tu código y verificar la ruta a tu archivo de texto.



