calcular dias úteis, incluindo feriados

Eu preciso calcular os dias úteis entre duas datas. ex: temos férias (nos EUA) no dia 04 de julho. então, se minhas datas são date1 = 07/03/2012 date2 = 07/06/2012

No de dias úteis b / w essas datas devem ser 1 desde julho 04 é feriado.

Eu tenho um método abaixo para calcular os dias úteis que contará apenas os fins de semana, mas não os feriados. Existe alguma maneira de calcular feriados também .... por favor me ajude sobre isso.

  public static int getWorkingDaysBetweenTwoDates(Date startDate, Date endDate) {  
    Calendar startCal;  
    Calendar endCal;  
    startCal = Calendar.getInstance();  
    startCal.setTime(startDate);  
    endCal = Calendar.getInstance();  
    endCal.setTime(endDate);  
    int workDays = 0;  

    //Return 0 if start and end are the same  
    if (startCal.getTimeInMillis() == endCal.getTimeInMillis()) {  
        return 0;  
    }  

    if (startCal.getTimeInMillis() > endCal.getTimeInMillis()) {  
        startCal.setTime(endDate);  
        endCal.setTime(startDate);  
    }  

    do {  
        startCal.add(Calendar.DAY_OF_MONTH, 1);  
        if (startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY   
       && startCal.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {  
            ++workDays;  
        }  
    } while (startCal.getTimeInMillis() < endCal.getTimeInMillis());  

    return workDays;  
}

questionAnswers(5)

yourAnswerToTheQuestion