Quote Originariamente inviata da andbin Visualizza il messaggio
Innanzitutto: fai una classe che "modella" una riga di informazione del file, fai una classe a parte che si occupa solo della lettura/parsing del file.
io attualmente ho questa situazione:

codice:
public class Estrattore {

	public static void main(String [] args) throws FileNotFoundException, IOException {
        
		BufferedReader br =  new BufferedReader(new FileReader("C://0102.TXT"));
		String linea=br.readLine();
		int k=0;
		int i=0;
		int cont=1;
		System.out.println("Inserisci Da");
		System.out.println("Inserisci A");
		String [][] header= new String[241][6];


		Scanner input = new Scanner(System.in);
		String da = input.nextLine();
		String a = input.nextLine();
		input.close();


		
       while(linea!=null)
       {
    	   
    	   String[] campiDellaStringa = linea.split(";");	
    	   linea=br.readLine();
    	   if(cont>14 && cont!=16 && cont!=17)
    	   {
    	   	for(int j=0;j<campiDellaStringa.length;j++) 
    	   	{
    	   		header[i][k]=campiDellaStringa[j];
    	   		//System.out.print(header[i][k]+ " ");
    	   			k++;
    	   	}
    	   				
    	   					System.out.println("");
    	   					i++;
    	   					k=0;
    	   		
    	   }
    	   cont++;
       }//while
       
       float media= MediaAdIntervallo(header, da, a);
       System.out.println(media);
       
    }
	


	//funzione calcolare media ad intervalli
	public static float MediaAdIntervallo(String matrice[][], String partenza, String arrivo)
	{
		int cont=0;
		float valore=0;
		int inizio= CalcolaInizio(matrice, partenza);
		int fine=CalcolaFine(matrice, arrivo);
		
		for(int i=inizio;i<=fine;i++)
		{			
				   String mystring=matrice[i][3];
			       float temp=Float.parseFloat(mystring);
			       valore+=temp;
			       cont++;
			
		}
		return valore/cont;
	}
	
	//mi prendo gli indici
	
	public static int CalcolaInizio(String matrice[][], String Intervallo1)
	{
		
		for(int i=0;i<matrice.length;i++)
		{
			
			if(matrice[i][1].equals(Intervallo1))			
				return i;			
			
		}
		
		return -1;
	
	}
	
	public static int CalcolaFine(String matrice[][], String Intervallo2)
	{
		
		for(int i=0;i<matrice.length;i++)
		{
			if(matrice[i][1].equals(Intervallo2))
				return i;
				
		}
		
		return -1;
	
	}
	
	
	public static String EstraiTime(String matrice[][])
	{
		for(int i=1;i<matrice.length;i++)
		{
			return matrice[i][1];
		}
		return "";
	}
}

e poi un altro file con

codice:
public class Application extends Estrattore

{
public static void Dati(String args[])
{
JFrame win;
win = new JFrame("Esempio di JComboBox");
String lista[]=new String[10];
for(int i=0;i<lista.length;i++)
lista[i]=EstraiTime(matrice);
JComboBox cBox=new JComboBox(lista);
Container c = win.getContentPane();
c.add(cBox);
win.setSize(200,200);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setVisible(true);
}
}
la prima parte funziona la seconda no perché appunto è in fase di progettazione