   import java.util.ArrayList;
   
   import java.io.*;
   import java.util.*;
   import log.*;

	
    public class LectorEmails {
   	
   	
      private static final Logger LOGGER = Logger.getLogger("Lector Mails");
   	
       public static void main (String args[]) throws Exception {
      
         LOGGER.info("Creando el archivo del nombre pasado en args[]");
         File archivo = new File(args[0]); 
         
         LOGGER.info("Creando el scanner");
         Scanner scanner = new Scanner(archivo); 
            
         LOGGER.info("Creando ArrayList que almacenará los mails");
         ArrayList<String> listaEmails= new ArrayList<String>();
         
         while(scanner.hasNext()){
         
            String email = scanner.next();
            LOGGER.fine("Palabra leída " + email);
            
            LOGGER.fine("Limpiamos los caracteres > < , de los emails");
            email = comprobadorMails(email);
         	
         	
            LOGGER.fine("Buscamos la arroba");
            for (int i=0; i < email.length(); i++){
            
               LOGGER.finer("Posición en la que se está de la palabra " + i + " . Valor :" + email.charAt(i));
               if (email.valueOf(email.charAt(i)).equals("@")){
               
                  LOGGER.fine("Coincide con la @");
                  listaEmails.add(email);
                  LOGGER.fine("Añadido el email : " + email);
                  break;         
               }
               else{
                  continue;}
            }
            
         }
         
         LOGGER.info("Emails añadidos (" + listaEmails.size() +") -> " + listaEmails);
			
			FileWriter escribir = new FileWriter("listadeemails.txt");
			for (int i=0; i<listaEmails.size(); i++){
			 
			escribir.write(listaEmails.get(i));
			escribir.write("\n");
			
			
			}
			escribir.close();
		}	
      
       public static String comprobadorMails( String emailPasado){
         String emailADevolver= emailPasado;
         emailADevolver = emailPasado.replaceAll("<"," ");
         emailADevolver = emailADevolver.replaceAll(">"," ");
         emailADevolver = emailADevolver.replaceAll(","," ");
         LOGGER.fine("Email devuelto: " + emailADevolver.trim());
         return emailADevolver.trim();
      }   
   }