PDA

View Full Version : [JAVA]Lettura di una parte di file


eligigia
28-12-2010, 12:23
Ho un file contenente le seguenti righe:

CAMICIA BIANCO 46 35.00 euro 7 GEMELLI

CAMICIA ROSSO 48 26.50 euro 6 BOTTONI

GONNA GIALLO 42 21.99 euro 40 COTONE

GONNA ROSSO 40 29.00 euro 30 COTONE

PANTALONE MARRONE 46 40.00 euro 120
CAPPOTTO NERO 50 270.00 euro LANA

quello che mi interessa è ottenere il prezzo
c'è un modo per andarlo a pescare direttamente?
quello che faccio al momento è leggere riga per riga scomporla e mettere ogni elemento in una parte di array
in alcuni casi come nelle ultime 2 righe non ci sono tutti gli elementi quindi mi solleva un eccezione quando vado ad inserire ogni pezzo in un array!
come posso risolvere questo problema??

import prog.io.*;
import java.util.*;
public class Soluzione{
public static void main (String[]args){
FileInputManager in=new FileInputManager(args[0]);
Capo[]capi=new Capo[5];
String riga;
int x=0;
while((riga=in.readLine())!=null){
StringTokenizer stk=new StringTokenizer(riga, " ");
while(stk.hasMoreTokens()){
String tipo=stk.nextToken();
String colore=stk.nextToken();
int taglia=Integer.parseInt(stk.nextToken());
double prezzo=Double.parseDouble(stk.nextToken());
int bottoni=Integer.parseInt(stk.nextToken());
String b=stk.nextToken();
capi[x]=new Capo(colore, taglia, prezzo);
x++;
}
}
double pr=0.0;
for(int i=0; i<capi.length; i++){
if(capi[i]!=null&&capi[i].getColore().equals("ROSSO")){
pr=capi[i].getPrezzo();
}
}
System.out.println(pr);
}
}