fiat
punto
1200
Ferrari
gto
2400
alfa
giulietta
1400
meclaren
mercedes
500

ho questo file(ciascuna macchina è definita per costruttore,modello e chilometri) devo ordinarlo gia ho creato tutti i metodi di lettura e stampa,la traccia dice ''Scrivere un programma per l’ordinamento del file rispetto ai chilometri percorsi. Evitare di caricare TUTTE le auto in memoria.''
io ho provato cosi ma non viene..

codice:
public void printFileOrdinato(PrintStream p) throws IOException
	{
	Scanner s=new Scanner(new File(file));
	automobile a=automobile.leggi(s);//questo punta alla prima ''terna del file''
	automobile b=automobile.leggi(s);//questo alla seconda
         while(a!=null && b!=null)
         {
              if(a.getkm()<b.getkm())
                  { 
                 a.stampa(p);
                  a=automobile.leggi(s);
                   }
               else
               {
                  b.stampa(p);
                  b=automobile.leggi(s);
               }

         }
        if(a==null)
         {
              while(b!=null)
             {
                b.stampa(p);
                  b=automobile.leggi(s);
              }
         }
         else if(b==null)
         {
              while(a!=null)
             {
                a.stampa(p);
                  a=automobile.leggi(s);
              }
         }
         }
cosi non va bene....non funziona come dovrebbe.....