ho 2 classi, una Cliente (di una compagnia telefonica) ed una ArchivioTelefonico.
La compagnia telefonica salva i dati relativi ai suoi clienti in un file clienti.dat.
Il mio intento è quello di fornire la classe ArchivioTelefonico di un metodo che riempia una HashMap di Clienti e la classe Cliente di un metodo read per leggere le info dal file.. Ma mi viene lanciata un' eccezione:

Codice PHP:
//costruttore della classe ArchivioTelefonico
public ArchivioTelefonico(String fileClientithrows IOException     
{
         
clienti = new HashMap<IntegerCliente>();
         
chiamate = new HashMap<IntegerChiamata>();
         
FileReader reader = new FileReader(fileClienti);
         
Scanner scan = new Scanner(reader);
         
this.readClienti(scan);
}               

private 
void readClienti(Scanner scan)  throws IOException 
{
         
Cliente c Cliente.read(scan);
         while (
!= null)         
               {
             
clienti.put(new Integer(c.hashCode()), c);
             
Cliente.read(scan);         
               }


La classe Cliente invece definisce cosi il metodo statico read:

Codice PHP:
    public static Cliente read(Scanner scanthrows IOExceptionNumberFormatException     
{
         if (!
scan.hasNextLine()) return null;
         return new 
Cliente(scan.nextLine(), scan.nextLine(), scan.nextLine(), scan.nextLine()); 
    } 
Con un pò di stampe a video sono risalito al problema ed ho visto che praticamente il metodo read di Cliente ritorna un cliente null perché i diversi scan.nextLine() restituiscono tutti null