Grazie Perzem,
non ho parole per la tua gentilezza.
Del codice non ho capito string igen,xchè nella classe riga si chiama geneid,quindi ho eliminato string igen.
Ho provato a completare le parti di codice da te commentate,credo di aver risolto il caricamento dell'intestazione nell'array di stringhe(se puoi dargli uno sguardo mi faresti un favore), per quanto riguarda la fine del codice,dove devo caricare l'array di double nella riga sono ore che provo non riesco a trovare la soluzione,cioè credo di importare bene la prima stringa che è il geneid,ma non riesco a caricare l'array di double come tu mi hai detto...potresti darmi un'ultima mano col codice di quest'ultima funzione?
Ti ringrazio anticipatamente per l'aiuto che mi stai dando.

codice:
package com.devsphere.articles.jsfupload;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class princ {

	private static String fileName = "Dato2.txt";
	private String geneid=null;
	double[] values=new double[5]; 
	private static int row=0;
	private static int numberOfNumericColumns=0;
	private static int col=0;
	String[]intest=new String[col];
	private ArrayList rows = new ArrayList();
	Head h;
	Riga r;
	//String igen="";
	
	
	public boolean insRighe(Riga nuovo){
	       return rows.add(nuovo);
	}
	
	public void carica()throws IOException{
		
		
		FileReader reader=new FileReader(fileName);
		BufferedReader br = new BufferedReader(reader); 
		
		
		String line = null;
		
		while ((line = br.readLine()) != null) {
			line = line.replace (',', '.'); 
			if(row==0){
				StringTokenizer st = new StringTokenizer(line); 
				numberOfNumericColumns = (st.countTokens()-1); 
			    col=(numberOfNumericColumns+1); 
			    
			    	for (int i=0;i<col;i++) {
			    		intest[i] = st.nextToken();       		
			    		i++;    	
			    	}     
			    
				h=new Head(intest);	//crei l'oggetto head			
			}

			else {
				StringTokenizer st = new StringTokenizer(line);
				geneid=st.nextToken();
				
				
				
				//qua devi tokenizzare la stringa e mettere il primo valore nella stringa igen
				// e il resto nell'arrray di double values
					
				r=new Riga(geneid,values); //crei l'oggetto riga
			insRighe(r); //aggiungi 
				}
			row++;
	        
	        
		}
	}
	
	
	public static void main(String[] args) throws IOException { 
		princ p=new princ();
		p.carica();
	
	}


}