Quello che leggi da un file è sempre una stringa, per questo sei tu che devi conoscere quali campi sono poi per te stringhe o interi.
Se vuoi unificare il tutto puoi provare al massimo così:

codice:
String linea = ...;
ArrayList<String> listaStringhe = new ArrayList<String>();
ArrayList<Integer> listaInteri = new ArrayList<Integer>();

StringTokenizer st = new StringTokenizer(linea);
while (st.hasMoreTokens()) {
    String token = st.nextToken();
    try {
         listaInteri.add(Integer.parseInt(token));
    }
    catch (Exception e) {
         listaStringhe.add(token);
    }
}