import java.io.*;
import java.util.*;

/********************************************************************
 * This program takes in command line arguments and uses dateScanner
 * to print out results.
 *
 * @author - Sean Combs
 * @version - Version 1
 *	Date: 1/22/2007
 *	Section 001
 *	Lab 4
*********************************************************************/

public class IO_combssm_Remember
{
    private static Scanner        dateScanner;
	 private static PrintWriter    screen;
    
    public static void main(String[] args)
    {
       GregorianCalendar        today;
       String                   name;
		 File							  dates;       

       
       today    = new GregorianCalendar();
       screen   = new PrintWriter(System.out);

		 //Runs loop for number of arguments
		 for(int i=0; i < args.length; i++)
		 {
		  	 System.out.println(args[i]);
		    dates = new File(args[i]);
 			 
			 //sets up an exception in case inputted file is missing
			 try
			 {
			 	dateScanner = new Scanner (dates);
			 }
			 catch(FileNotFoundException fnfe)
			 {
			 	System.out.println("Error: File Not Found Exception");
			 }
		 	 
			 //outputs results
		    screen.printf(Locale.US, "\nToday's Date: %1$te %1$tB %1$tY\n", today);
          screen.flush();       
		 
          processDates(today);
		 }
    }
    


    private static void processDates(GregorianCalendar today)
    {
       int           day, month;              
       String        name;
       

       // Use the '\t' (tab) and '/' characters as delimiters
       dateScanner.useDelimiter("[\t/]");
          
          
       while (dateScanner.hasNext())
       {
          month = dateScanner.nextInt();
          day   = dateScanner.nextInt();
          name  = dateScanner.nextLine();

          if ((month == (today.get(Calendar.MONTH)+1)) && 
              (day   == today.get(Calendar.DAY_OF_MONTH)))
          {
             screen.printf("%s\n", name);
             screen.flush();
          }
       }
    }
    

}
