[JAVA] Scrittura su un file

Alessandro001

Utente Attivo
166
7
CPU
Ryzen 5 1600 3.2GHz
Scheda Madre
MSI B350 Tomahawk
HDD
Seagate ST1000DM010 1 TB
RAM
2X8GB Corsair CMK16GX4M2B3000C15 Vengeance
GPU
RADEON RX 580 NITRO+ Radeon RX 580 8GB GDDR5
Monitor
HP 27FW Monitor 27"
PSU
Cooler Master MasterWatt Lite 700 230V
Case
Aerocool Aero-800
Net
https://www.speedtest.net/result/8773872068.png
OS
Windows 10
Salve, devo scrivere una serie di campi che si trovano in un oggetto all'interno di un documento di testo.
Ho usato le istruzioni della classe RandomAccessFile.
Dato che i dati possono cambiare, ogni volta che viene richiamata la visualizzazione mi dichiado un nuovo file così
Java:
RandomAccessFile f = new RamdomAccessFile("Catalogo.txt", "rw" );
f.seek(0);
//Scrittura dei dati con il metodo f.writeChars();
Metto seek a 0 cosi ogni volta che viene richiamata la visualizzazione il contenuto precedente viene sovrascritto.
Il problema è che il messaggio viene visualizzato tutto in una riga quindi non va a capo e non sovrascrive il messaggio...
 

Alessandro001

Utente Attivo
166
7
CPU
Ryzen 5 1600 3.2GHz
Scheda Madre
MSI B350 Tomahawk
HDD
Seagate ST1000DM010 1 TB
RAM
2X8GB Corsair CMK16GX4M2B3000C15 Vengeance
GPU
RADEON RX 580 NITRO+ Radeon RX 580 8GB GDDR5
Monitor
HP 27FW Monitor 27"
PSU
Cooler Master MasterWatt Lite 700 230V
Case
Aerocool Aero-800
Net
https://www.speedtest.net/result/8773872068.png
OS
Windows 10
Cosa passi alla writeChars ?
Gli output dei vari campi.
L'oggetto è di tipo libro quindi passo
Java:
f.writeChars("Il titolo del libro è :" + Libro.getTitolo());
E altre writechars per gli altri campi

Non capisco perché non mi vada a capo nonostante metta o i \n che non mi conta e non sovrascrive gli output nonostante rimetta seek a 0.
 

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,246
5,675
Intanto prova con
System.out.println();
prima di ogni writeChars.

Questo dovrebbe farlo andare a capo ad ogni riga.
 

Alessandro001

Utente Attivo
166
7
CPU
Ryzen 5 1600 3.2GHz
Scheda Madre
MSI B350 Tomahawk
HDD
Seagate ST1000DM010 1 TB
RAM
2X8GB Corsair CMK16GX4M2B3000C15 Vengeance
GPU
RADEON RX 580 NITRO+ Radeon RX 580 8GB GDDR5
Monitor
HP 27FW Monitor 27"
PSU
Cooler Master MasterWatt Lite 700 230V
Case
Aerocool Aero-800
Net
https://www.speedtest.net/result/8773872068.png
OS
Windows 10

Mursey

Super Moderatore
Staff Forum
Utente Èlite
8,246
5,675
Con il sistem.out non lo scrive sul prompt?
Io voglio che lo scriva sul file
Sai dirmi come faccio a sovrascrivere il contenuto poi?
Perdonami, mi sono limitato a leggere https://www.tutorialspoint.com/java/io/randomaccessfile_writechars.htm

Viene detto
Java:
// change the line for better view
System.out.println();
Quindi ho ipotizzato che l'out in questo caso fosse su file.

Per la seek dovrebbe sovrascrivere il file dall'inizio...

Puoi postare il tuo codice e come ti viene il file ?
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili