Salve a tutti, ho un piccolo problema
Ho un metodo che legge da file di testo delle stringhe e le utilizza poi per creare degli oggetti da inserire in un altro file.
Il mio problema è che legge una riga si e una no dai file di testo e non riesco a capire perché.
Questo è il codice, potete aiutarmi?
/**
* Metodo che crea la lista dei mezzi disponibili
* Il numero di mezzo creati dipende dal numero di targhe presenti nei file.
* Il numero di mezzi Standard dipende dal file std.txt, quello dei mezzi Rapidi dal file fst.txt
*/
private void creaGarageFile(File std, File fst, File veic)
{
Trasporto veicolo;
String targa,modello="";
double scelta_mod;
int cargo_max = 0;
Garage parcheggio = new Garage();
//FileReader f;
//BufferedReader b;
RandomAccessFile in;
try
{
veic.createNewFile();
FileOutputStream fout = new FileOutputStream(veic);
ObjectOutputStream out = new ObjectOutputStream(fout);
in = new RandomAccessFile(std,"r");
/* f = new FileReader(std);
b = new BufferedReader(f);*/
//while(b.readLine() != null)
while(in.readLine() != null)
{
scelta_mod = Math.random()*2;
switch((int)scelta_mod)
{
case 0: modello = "Auto";
break;
case 1: modello = "Furgone";
break;
case 2: modello = "Camion";
break;
}
targa = in.readLine();
System.out.println(targa+"\n");
veicolo = new StdTrasport(targa,modello,0);
parcheggio.addMezzo(veicolo);
}
//b.close();
in.close();
/*f = new FileReader(fst);
b = new BufferedReader(f);*/
in = new RandomAccessFile(fst,"r");
//while(b.readLine() != null)
while(in.readLine() != null)
{
scelta_mod = Math.random()*2;
switch((int)scelta_mod)
{
case 0:
{
modello = "Auto";
cargo_max = 10;
break;
}
case 1:
{
modello = "Furgone";
cargo_max = 25;
break;
}
case 2:
{
modello = "Camion";
cargo_max = 50;
break;
}
}
targa = in.readLine();
System.out.println(targa+"\n");
veicolo = new FastTrasp(targa,modello,0,cargo_max);
parcheggio.addMezzo(veicolo);
}
in.close();
out.writeObject(parcheggio);
out.close();
fout.close();
System.out.println("File "+veic+" creato correttamente");
}
catch(IOException e)
{
e.printStackTrace();
}
}
Grazie mille in anticipo