public static GameDate[] readDates(String path)
    throws IOException
  {
    ArrayList<GameDate> output = new ArrayList<GameDate>(0);
    try
      {
        // Reads file from specified path
        BufferedReader reader = new BufferedReader(new FileReader(path));
        String input = reader.readLine();

        // Processes lines in file and store them appropriately
        while (input != null)
          {
            String[] readArray = input.split("!");
            String[] dateArray = readArray[0].split(",");
            LocalDate lDate =
                LocalDate.of(Integer.valueOf(dateArray[2]),
                             Integer.valueOf(dateArray[1]),
                             Integer.valueOf(dateArray[0]));
            if (Integer.valueOf(readArray[1]) == 0)
              {
                output.add(new GameDate(lDate, false));
              } // if
            else if (Integer.valueOf(readArray[1]) == 1)
              {
                output.add(new GameDate(lDate, true));
              } // else if
            input = reader.readLine();
          } //while
        reader.close();
      } // try
    catch (FileNotFoundException e)
      {
        e.printStackTrace();
        PrintWriter pen = new PrintWriter(System.out, true);
        pen.print("Please specify valid and existing file path");
      } // catch

    GameDate[] arrayOutput = new GameDate[output.size()];
    output.toArray(arrayOutput);
    return arrayOutput;
  } // readDatesFromFile(String)