Profundizar en la capacidad de programación en Java con un enfoque particular en la manipulación de archivos puede proporcionar a los desarrolladores y estudiantes una comprensión invaluable de cómo interactuar eficientemente con el sistema de archivos y gestionar datos. Este artículo propone una serie de ejercicios intermedios que abarcan desde la lectura y escritura básica de archivos hasta operaciones más complejas que incluyen filtrado y procesamiento de datos almacenados en archivos.
Ejercicio 1: Lectura de un Archivo y Conteo de Palabras
Objetivo: Utilizar la lectura de archivos para contar la frecuencia de cada palabra en un texto.
Descripción: Escribe un programa que lea un archivo de texto y cuente cuántas veces aparece cada palabra, mostrando los resultados en la consola.
Código de ejemplo:
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class WordCounter {
public static void main(String[] args) {
Map<String, Integer> wordCount = new HashMap<>();
File file = new File("example.txt");
try (Scanner scanner = new Scanner(file)) {
while (scanner.hasNext()) {
String word = scanner.next().replaceAll("[^a-zA-Z]", "").toLowerCase();
wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
}
} catch (FileNotFoundException e) {
System.err.println("Archivo no encontrado: " + e.getMessage());
return;
}
wordCount.forEach((key, value) -> System.out.println(key + ": " + value));
}
}
Ejercicio 2: Escritura en un Archivo de Log
Objetivo: Practicar la escritura en un archivo para registrar eventos o acciones del usuario.
Descripción: Desarrolla un programa que registre cada inicio de sesión del usuario en un archivo de log con la fecha y hora exacta del evento.
Código de ejemplo:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalDateTime;
public class Logger {
public static void main(String[] args) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter("log.txt", true))) {
writer.write("Inicio de sesión: " + LocalDateTime.now());
writer.newLine();
System.out.println("Evento registrado correctamente.");
} catch (IOException e) {
System.err.println("Error al escribir en el archivo de log: " + e.getMessage());
}
}
}
Ejercicio 3: Filtrado y Transformación de Datos de Archivo
Objetivo: Combinar lectura y escritura de archivos para filtrar y modificar datos.
Descripción: Crea un programa que lea datos de un archivo CSV, filtre aquellos registros que cumplen ciertos criterios, y guarde los resultados en un nuevo archivo.
Código de ejemplo:
import java.io.*;
public class CSVFilter {
public static void main(String[] args) {
String inputFile = "data.csv";
String outputFile = "filteredData.csv";
try (BufferedReader reader = new BufferedReader(new FileReader(inputFile));
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile))) {
String line;
while ((line = reader.readLine()) != null) {
if (line.contains("criterioEspecifico")) {
writer.write(line);
writer.newLine();
}
}
System.out.println("Datos filtrados escritos en " + outputFile);
} catch (IOException e) {
System.err.println("Error al manipular archivos: " + e.getMessage());
}
}
}
Conclusión
Estos ejercicios refuerzan las habilidades fundamentales de manejo de archivos en Java y permiten a los estudiantes y desarrolladores experimentar con escenarios de la vida real donde la lectura, escritura y procesamiento de archivos son esenciales. Dominar estas técnicas prepara a los profesionales para tareas más avanzadas y complejas, mejorando su eficacia en el desarrollo de software y análisis de datos.
¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.
¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos.

NUESTRAS ÚLTIMAS PUBLICACIONES
- Las maravillas de las ciencias biológicas según la Academia SanRoque
- La motivación en Academia SanRoque
- Los docentes también se divierten.
- Comandos Principales en MongoDB y sus Equivalentes en Java
- Las bondades de escribir y leer cada día: herramientas esenciales para la vida académica, empresarial y social
- Immanuel Kant: Disertación contra las IA
- Forma Normal de Boyce-Codd (FNBC) en Bases de Datos
- Las Formas Normales en Bases de Datos
- La importancia de rodearte de personas virtuosas para alcanzar tus metas
ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido
Comments are closed