Lettura di un file vuoto

di il
1 risposte

Lettura di un file vuoto

Salve a tutti, vi chiedo una mano con un problema che non sto riuscendo a risolvere da giorno.
Sto facendo un programma basato su comunicazione Client - Server, fondamentalmente creo un file su cui scrivo determinate stringhe, sono due per ogni riga, ma non ci possono essere duplicati per quanto riguarda la prima stringa nella riga, le stringhe sono scritte una dopo l'altra andando a capo usando un FileWriter con write(Prima stringa +" " + Seconda stringa+"\n") separate da uno spazio bianco.
Siccome non ci possono essere duplicati, quando inserisco dal Client la stringa che voglio aggiungere (si tratta di un solo termine) il Server le legge con uno scanner e le salva su due String e poi prima di scriverle sul file, verifico che nel file per ogni riga la prima stringa non è presente, ragiono come segue
[CODE] s1 = client_scanner.next(); s2 = client_scanner.next(); FileWriter fw_code = null; try { fw_code = new FileWriter("c.ser",true); } catch (IOException e) { e.printStackTrace(); } try { fw_code.write(file_name + " " + file_code + "\n"); //fw.flush(); fw_code.close(); } catch (IOException e) { e.printStackTrace(); } Scanner scanner = null; try { scanner = new Scanner(new FileReader(c.ser)); } catch (FileNotFoundException e) { e.printStackTrace(); } while (fscanner.hasNextLine()) { String info = fscanner.nextLine(); Scanner file = new Scanner(info); String stringa1 = file.next(); if (s1.equals(stringa1)) { verifica = "EXIST"; break; } else { verifica = "NOT_EXIST"; } } Successivamente con una serie di if in base al valore di 'verifica' aggiungo le stringhe o meno.
Il problema è che durante l'esecuzione mi viene scatenata NullPointerException, presumo sia dovuto al while (fscanner.hasNextLine()) quando inizialmente il file è vuoto (ha solamente il puntatore che lampeggia all'inizio della prima riga ma non c'è scritto nulla).
Come potrei risolvere?

1 Risposte

  • Re: Lettura di un file vuoto

    Se tu usi un IDE decente ti indica il punto dove si e` scatenato un NPE.
    Prova a fare un debug e le risposte te li troverai da solo.
Devi accedere o registrarti per scrivere nel forum
1 risposte