ytreka ha scritto:
writer.write(next);
vedo che sono stati scritti una serie di simboli, numeri da 1 a 9 e tutto l'alfabeto.
Il write che hai usato scrive 1 carattere. Se passi 100, è il carattere con codice 100 (che per la cronaca in ASCII è la lettera "d").
Se vuoi che nel file ci sia scritto 100, vuol dire scrivere 3 caratteri: '1' '0' e '0'. Ovvero serve scrivere una stringa che contiene "100".
Pertanto serve l'altro write, il
write(String str)
E per ottenere una stringa dal valore int ci sono svariati metodi:
- concatenare una stringa vuota al numero int: ""+next
- o meglio usare String.valueOf(int): String.valueOf(next)
- alternativamente, mettere un PrintWriter "al di sopra" del BufferedWriter. PrintWriter ha dei comodi print(int), print(long) ecc... (oppure usare PrintWriter al posto di BufferedWriter se la "bufferizzazione" non è rilevante per l'esercizio).