Posto la classe HTTPLogHandler:
	codice:
	public class HTTPLogHandler extends FileLoader{
    @Override
    public void parse() {
        for (Iterator<String> i = loadFile().iterator(); i.hasNext();) {
            String next = i.next();
            String[] splitted = next.split(" ", -1);
            
            String ip = splitted[0];
            String usr = splitted[2];
            Calendar date = calendarize(splitted[3]);
            
            String method = removeQuotes(splitted[5]);
            int sepInd = splitted[6].indexOf("/");
            String request = splitted[6].substring(sepInd);
            String protocol = removeQuotes(splitted[7]);
            
            String[] protocolSplit = protocol.split("/");
            String protocolName = protocolSplit[0];
            String protocolVers = protocolSplit[1];
            
            int responseTime = Integer.parseInt(splitted[8]);
            int size = Integer.parseInt(splitted[9]);
            String referer = removeQuotes(splitted[11]);
            String userAgent = next.substring(next.indexOf("("), next.indexOf(")")+1);
            
            HTTPFormat format = new HTTPFormat(ip, usr, date, method, request, protocol, size, size, referer, userAgent);
            parsed.add(format);
        }
    }
    
    /**
     * Conversione da stringa a formato Calendar.
     * @param s
     * @return 
     */
    public Calendar calendarize(String s){
        s = s.replace("[", "");
        s = s.replace("]", "");
        
        String[] splitted = s.split(" ", -1);
        String dateHour = splitted[0];
        
        int sepIndex = dateHour.indexOf(":");
        String dateString = dateHour.substring(0, sepIndex); //L'indice del separatore è letto correttamente
        String hourString = dateHour.substring(sepIndex+1);
        
        String date[] = dateString.split("/");
        int giorno = Integer.parseInt(date[0]);
        int mese = monthFormat(date[1]);
        int anno = Integer.parseInt(date[2]);
        
        String hour[] = hourString.split(":");
        int hh = Integer.parseInt(hour[0]);
        int mm = Integer.parseInt(hour[1]);
        int ss = Integer.parseInt(hour[2]);
        
        Calendar c = new GregorianCalendar(anno, mese, giorno, hh, mm, ss);
        return c;
    }
    /**
     * Conversione String a formato Integer per i mesi.
     * @param m
     * @return 
     */
    public int monthFormat(String m){
        int month = 0;
        
        if(m.equals("Gen")){
            month = 1;
        } else if(m.equals("Feb")){
            month = 2;
        } else if(m.equals("Mar")){
            month = 3;
        } else if(m.equals("Apr")){
            month = 4;
        } else if(m.equals("May")){
            month = 5;
        } else if(m.equals("Jun")){
            month = 6;
        } else if(m.equals("Jul")){
            month = 7;
        } else if(m.equals("Aug")){
            month = 8;
        } else if(m.equals("Sep")){
            month = 9;
        } else if(m.equals("Oct")){
            month = 10;
        } else if(m.equals("Nov")){
            month = 11;
        } else if(m.equals("Dec")){
            month = 12;
        } 
        return month;
    }
    /**
     * Rimozione virgolette.
     * @param s
     * @return 
     */
    public String removeQuotes(String s){
        char virg = 34;
        String virgolette = String.valueOf(virg);
        s = s.replace(virgolette, "");
        return s;
    }
}
 
Aggiungo per completezza che Il metodo setFilePath è ereditato dalla classe FileHandler:
	codice:
	public abstract class FileHandler {    List<HTTPFormat> parsed = new LinkedList();
    String filePath;
    
    public List<HTTPFormat> getParsed() {
        return parsed;
    }
    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }
    
}
 
Per chiarimenti ovviamente, sono qua! 