package es.palomafp.aadd.inm; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * * AppPrincipalPaises: Clase que procesa el fichero de frases. * * @author Isidoro Nevares Martín - IES Virgen de la Paloma * @date 26 sept 2025 * * */ public class AppPrincipalFrases { public static void main(String[] args) { AppPrincipalFrases app = new AppPrincipalFrases(); app.procesarFicheroFrases(); } private void procesarFicheroFrases() { String rutaCarpetaBase = "C:\\Users\\ineva\\aadd\\inm\\act12"; String rutaFicheroOriginalFrases = rutaCarpetaBase + "\\frases.txt"; File ficheroFrases = new File(rutaFicheroOriginalFrases); String rutaCarpetaProcesadas = rutaCarpetaBase + "\\procesadas"; File carpetaFrasesProcesadas = new File(rutaCarpetaProcesadas); // Crear el directorio la primera vez if (!carpetaFrasesProcesadas.exists()) { carpetaFrasesProcesadas.mkdir(); } String rutaFicheroFrasesFiltradas = rutaCarpetaProcesadas + "\\frases_filtradas.txt"; try (BufferedReader bf = new BufferedReader(new FileReader(ficheroFrases)); BufferedWriter bw = new BufferedWriter(new FileWriter(rutaFicheroFrasesFiltradas))) { String linea; while ((linea = bf.readLine()) != null) { // Procesa las líneas que empiecen por '2' o terminen por "Monroe" o "Davis" if (linea.startsWith("2") || linea.endsWith("Monroe") || linea.endsWith("Davis")) { // Procesar información de la frase String[] camposFrase = linea.split("\\|"); String frase = camposFrase[1].trim(); String autor = camposFrase[2].trim(); String nuevaLinea = frase + " - " + autor; // Guardar las frases filtradas System.out.println(linea); bw.write(nuevaLinea); bw.newLine(); } } } catch (FileNotFoundException e) { System.err.println("Fichero no encontrado: " + rutaFicheroOriginalFrases); e.printStackTrace(); } catch (IOException e) { System.err.println("Error al leer el fichero: " + rutaFicheroOriginalFrases); e.printStackTrace(); } // Eliminar fichero ficheroFrases.deleteOnExit(); } }