xNamik
04-05-2013, 14:29
Salve a tutti. Oggi stavo provando ad implementare la lettura da file in java utilizzando il seguente codice:
public void leggiMB(){
String nomefile="mailbox.txt";
String delim1 = ";";
String delim2 = "/";
String riga;
FileReader f = null ;
BufferedReader fIN = null;
StringTokenizer st;
try{
f = new FileReader(nomefile);
fIN = new BufferedReader(f);
}
catch(IOException ioe){
System.out.println("Errore in fase di apertura del file:"+nomefile+ioe.getMessage());
}
try{
riga=fIN.readLine();
st = new StringTokenizer(riga, delim1);
while(riga!=null){
String mit=st.nextToken();
String ogg=st.nextToken();
String tes=st.nextToken();
String dat=st.nextToken();
StringTokenizer st1 = new StringTokenizer(dat, delim2);
int gio=Integer.parseInt(st1.nextToken());
int mes=Integer.parseInt(st1.nextToken());
int ann=Integer.parseInt(st1.nextToken());
String ore=st.nextToken();
StringTokenizer st2 = new StringTokenizer(ore, delim2);
int ora=Integer.parseInt(st2.nextToken());
int min=Integer.parseInt(st2.nextToken());
Mail m1=new Mail(mit,ogg,tes,gio,mes,ann,ora,min);
boolean b=MB.add(m1);
riga=fIN.readLine();
}
}
catch(IOException ioe){
System.out.println("Errore in fase di lettura dal file:"+nomefile+ioe.getMessage());
System.exit(0);
}
try{
f.close();
}
catch(IOException ioe){
System.out.println("Errore in fase di chiusura del file:"+nomefile+ioe.getMessage());
}
}
Purtroppo in fase di esecuzione, quando vado ad effettuare la lettura da file, mi viene tirata fuori la seguente eccezzione:
Exception in thread "main" java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
at mailbox.MailBox.leggiMB(MailBox.java:103)
at mailbox.Main.main(Main.java:61)
Java Result: 1
Cosa potrei aver sbagliato?
Grazie in anticipo per una vostra risposta ^^
public void leggiMB(){
String nomefile="mailbox.txt";
String delim1 = ";";
String delim2 = "/";
String riga;
FileReader f = null ;
BufferedReader fIN = null;
StringTokenizer st;
try{
f = new FileReader(nomefile);
fIN = new BufferedReader(f);
}
catch(IOException ioe){
System.out.println("Errore in fase di apertura del file:"+nomefile+ioe.getMessage());
}
try{
riga=fIN.readLine();
st = new StringTokenizer(riga, delim1);
while(riga!=null){
String mit=st.nextToken();
String ogg=st.nextToken();
String tes=st.nextToken();
String dat=st.nextToken();
StringTokenizer st1 = new StringTokenizer(dat, delim2);
int gio=Integer.parseInt(st1.nextToken());
int mes=Integer.parseInt(st1.nextToken());
int ann=Integer.parseInt(st1.nextToken());
String ore=st.nextToken();
StringTokenizer st2 = new StringTokenizer(ore, delim2);
int ora=Integer.parseInt(st2.nextToken());
int min=Integer.parseInt(st2.nextToken());
Mail m1=new Mail(mit,ogg,tes,gio,mes,ann,ora,min);
boolean b=MB.add(m1);
riga=fIN.readLine();
}
}
catch(IOException ioe){
System.out.println("Errore in fase di lettura dal file:"+nomefile+ioe.getMessage());
System.exit(0);
}
try{
f.close();
}
catch(IOException ioe){
System.out.println("Errore in fase di chiusura del file:"+nomefile+ioe.getMessage());
}
}
Purtroppo in fase di esecuzione, quando vado ad effettuare la lettura da file, mi viene tirata fuori la seguente eccezzione:
Exception in thread "main" java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:332)
at mailbox.MailBox.leggiMB(MailBox.java:103)
at mailbox.Main.main(Main.java:61)
Java Result: 1
Cosa potrei aver sbagliato?
Grazie in anticipo per una vostra risposta ^^