Manejo de archivos
La lectura y escritura de archivos es una de las funcionalidades que ha proveído Java desde sus inicios, siendo mejorada tras sus diversas versiones.
Lectura de archivos de texto
Para llevar a cabo la lectura de un archivo de texto se pueden emplear
diversos métodos de la clase java.io.*, pero se recomienda complementar esta
con la clase java.nio.* considerada la clase de reemplazo de la anterior, que
contiene entre sus componentes a Files y Paths permitiendo simplificar
acciones como copiar un archivo en uno nuevo y brindando el soporte para
llevar a cabo las acciones clásicas de la clase original.
Por ejemplo, supongamos un archivo txt con el siguiente contenido:
-A: Hola -G: Hola, ¿cómo estas? -A: Bien, y tú -G: Igualmente -A: Debo irme, hasta luego -G: Hasta luego, saludos a doña Dana
Ahora una clase "main" de Java con el siguiente código que mostrará el contenido del archivo en consola empleando diversas formas:
package test;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.List;
public class Test {
public static void main(String[] args) throws IOException {
//Archivo indicando la ruta
File archivo = new File("/media/ruta/data.txt");
//Definición de caracteres UTF-8
Charset cs = StandardCharsets.UTF_8;
/*Lectura de datos*/
//USANDO Files.readAllLines
try {
List<String> lines = Files.readAllLines(archivo.toPath(), cs);
lines.forEach(l -> {
System.out.println(l);
});
} catch (IOException e) {
System.err.println(e.getMessage());
}
System.out.println("====================================");
//USANDO BufferedReader
try (BufferedReader br = Files.newBufferedReader(archivo.toPath(), cs)) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
System.err.println(e.getMessage());
}
System.out.println("====================================");
//USANDO InputStream
try (InputStream is = Files.newInputStream(archivo.toPath())) {
byte[] bytes = new byte[(int) archivo.length()];
is.read(bytes);
String content = new String(bytes, cs);
System.out.println(content);
} catch (IOException e) {
System.err.println(e.getMessage());
}
}
}
Mostrará el siguiente resultado:
-A: Hola -G: Hola, ¿cómo estas? -A: Bien, y tú -G: Igualmente -A: Debo irme, hasta luego -G: Hasta luego, saludos a doña Dana ==================================== -A: Hola -G: Hola, ¿cómo estas? -A: Bien, y tú -G: Igualmente -A: Debo irme, hasta luego -G: Hasta luego, saludos a doña Dana ==================================== -A: Hola -G: Hola, ¿cómo estas? -A: Bien, y tú -G: Igualmente -A: Debo irme, hasta luego -G: Hasta luego, saludos a doña Dana
Lectura de archivos multimedia
Además, se pueden cargar archivos como:
- Imágenes
- En la web (https://javajhon.blogspot.com/2020/06/imagenes-servlet.html)
- En una aplicación de escritorio (https://javajhon.blogspot.com/2020/12/imagen-swing.html)
- Audio
- Video
- Documentos
Cada uno de estos tiene sus particularidades y diferentes formas de llamado
dependiendo del entorno donde se desee mostrarlos, es diferente cargar una
imagen en una aplicación WEB que en una aplicación de escritorio.
No hay comentarios:
Publicar un comentario