Ragazzi sto provando a fare un altro esercizio sulla falsa riga di quello sopra.Il file da leggere è:
codice:
3 
1 880 600 Anna Anna 
2 830 678 Luca Anni 
3 223 610 Paolo Errore
Il programma scritto è il seguente:
codice:
public class Listone {
 int numimmagini; 
int cod; 
int larg; 
int alt; 
String nome;
 public Listone(int numimmagini,int cod,int larg, int alt,String nome){ this.numimmagini=numimmagini; 
this.cod=cod; this.larg=larg; 
this.alt=alt; 
this.nome=nome; 
}
 public String toString(){
 String descrizione; 
descrizione= numimmagini+"\n"+cod+"\t"+larg+"\t"+alt+"\t"+nome;
 return descrizione; 
}
 public int getnumimmagini(){ 
return numimmagini; 
} 
public int getcod(){ 
return cod; 
} 
public int getlarg(){ 
return larg;
 } 
public int getalt(){ 
return alt; 
} 
public String getnome(){
return nome; 
}
 }
parte operativa:
codice:
import java.io.*;
import java.util.*;
import java.util.StringTokenizer;
public class Esecuzione {
	int numimmagini;
	int cod;
	int larg;
	int alt;
	String nome;
	int i;
	int numRighe;
	Listone[]vet;
	public Esecuzione(){
		vet=new Listone[numRighe];
		}
	public void leggi(String nomeFile)throws IOException {
		String line;
		BufferedReader br=new BufferedReader(new FileReader (nomeFile));
		i=0;
		while ((line=br.readLine())!=null) {
		i++;
		}
		numRighe=i;
		vet=new Listone [numRighe];
		i=0;
		br.close();
		br=new BufferedReader(new FileReader (nomeFile));
		while ((line=br.readLine())!=null) {
				StringTokenizer st;
				st=new StringTokenizer(line);
				int numimmagini=Integer.parseInt(st.nextToken());
				int cod=Integer.parseInt(st.nextToken());
				int larg=Integer.parseInt(st.nextToken());
				int alt=Integer.parseInt(st.nextToken());
				String nome=st.nextToken ();
				vet[i]=new Listone (numimmagini,cod,larg,alt,nome);
				i++;
		}
}
public void stampa () throws IOException {
      for (int j=0; j<vet.length ; j++){
	  System.out.println ("IL FILE CONTIENE \t:"+vet[j].toString() );
              }
         }
public static void main(String[]args)throws IOException {
Esecuzione vet=new Esecuzione();
String nomeFile="eseguilo.txt";
	if(args.length==1)
		nomeFile=args[0];
		vet.leggi(nomeFile);
		vet.stampa();
		}
}
tuttavia mi da ancora questo errore:

codice:
Exception in thread "main" java.util.NoSuchElementException
 at java.util.StringTokenizer.nextToken(StringTokenizer.java:349) 
at Esecuzione.leggi(Esecuzione.java:32)
 at Esecuzione.main(Esecuzione.java:50) 
Premere un tasto per continuare . . .
gentilmente mi potreste aiutare a risolvere il problema?
So che il problema è il medesimo di prima(almeno credo) ma non riesco proprio a risolvere,grazie mille!