andiamo per passi...
-per memorizzare la prima linea nn ci sono problemi, una volta letta dal file la tokenizziamo e se sappiamo che i valori sono sempre nello stesso ordine li mettiamo nelle proprie variabili.
-tokenizziamo anche la seconda linea e memorizziamo il valore in una variabile intera...
- terza riga:d ichiariamo 3 array e un contatore. dal file che hai postato sembra che ogni categoria inizia su una nuova riga quindi se il numero di el è sempre divisibile per 3 usiamo un contatore incrementandolo finchè nn arriviamo alla soglia e poi cambiamo array



codice:
FileReader reader=new FileReader(fileName);
BufferedReader br = new BufferedReader(reader); 
String line = null;
int cont=0;
int v1,v2,v4;
int nn;
while ((line = br.readLine()) != null) {//continua a leggere dal file finche nn legge vuoto
	StringTokenizer st = new StringTokenizer(line);
while(st.hasMoreTokens()){
//salviamo le prime 3 var
	if (cont==0){v1=st.nextToken();
                               cont++}else {if (cont==1){v2=st.nextToken();cont++;}else{v3==st.nextToken();cont++;}}
if (cont==4)   {nn=st.nextToken();cont++;}//salviamo il numero della seconda riga
if(cont>4){copiamo nei vari array}
} }
ho buttato questo codice al volo nn l'ho testato, però potrebbe essere un inizio