Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    52

    Scrivere in un file di testo

    Ciao, piccola domanda. Sto scrivendo in un file di testo:

    Codice PHP:
                File file = new File("cartella/nomeFile.txt");
                
    FileWriter fileWriter = new FileWriter(filetrue);
                
    Date data = new Date();
                
    String dataUltimoAggiornamento this.convertDateString(data);
                
    fileWriter.write(testo);
                
    fileWriter.write(dataUltimoAggiornamento);
                
    fileWriter.flush();
                
    fileWriter.close(); 
    adesso ogni riga che aggiungo mi viene messa accanto a quella precedente. Non dovrebbe inserirla una sotto l'altra visto che al costruttore FileWriter ho passato anche l'append?

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da Beacons
    adesso ogni riga che aggiungo mi viene messa accanto a quella precedente. Non dovrebbe inserirla una sotto l'altra visto che al costruttore FileWriter ho passato anche l'append?
    "append" significa solo "aggiungi alla fine del file" e non "vai anche a capo".
    codice:
    fileWriter.write("\n" + testo);
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Scrivere in un file di testo

    Originariamente inviato da Beacons
    adesso ogni riga che aggiungo mi viene messa accanto a quella precedente. Non dovrebbe inserirla una sotto l'altra visto che al costruttore FileWriter ho passato anche l'append?
    No, la questione è che write() non aggiunge alcun newline di suo.

    La sequenza di newline varia da piattaforma a piattaforma, quindi se vuoi scrivere un newline devi prima stabilire se vuoi "fissare" il newline tu o se vuoi che dipenda dalla piattaforma su cui sta "girando" la applicazione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    52
    ah ok^^ grazie...se ho letto bene comunque invece di passare \n fileWriter ha il metodo append che dovrebbe fare a casa mio...

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Beacons
    ah ok^^ grazie...se ho letto bene comunque invece di passare \n fileWriter ha il metodo append che dovrebbe fare a casa mio...
    Nemmeno gli append() mettono newline per conto loro.

    Ripeto la questione meglio sul newline:

    a) Fissi tu il newline in modo "cablato" nel sorgente es. "\n", "\r\n" o "\r". Se però sei su Windows e scrivi solo "\n" (stile Unix), un editor su Windows potrebbe non "gradirlo" e non andare a capo! Se invece l'obiettivo era quello di scrivere un file che sarà esportato e letto su un sistema Unix, allora "\n" è appropriato.

    oppure

    b) Usare la property di sistema System.getProperty("line.separator") che ti dà la stringa di newline giusta per la piattaforma su cui sta girando.

    oppure

    c) "wrappare" (incapsulare) il FileWriter in un altro Writer (es. BufferedWriter o PrintWriter) che ha metodi appositi per scrivere anche il newline. BufferedWriter ha newLine() mentre PrintWriter ha tutti i vari println().

    Tutto qui. Punto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    52
    ok grazie. Ultima domanda. Ed è possibile capire se un file di testo ha subito una modifica dall'ultima sua scrittura?

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Beacons
    Ed è possibile capire se un file di testo ha subito una modifica dall'ultima sua scrittura?
    Dalla data di modifica del file (vedi lastModified() di File), sì. Se intendi altro non so, precisa meglio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    52
    Si intendevo proprio questo grazie mille ora mi guardo un pò la guida ufficiale . Se trovo altre difficoltà chiedo eheh grazie ancora.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    52
    Per modificare una riga invece?RandomAccessFIle?Oppure devo per forza leggermi tutte le righe riscrivendole ?Stessa cosa vale per eliminare una riga?Devo prima leggere tutte le righe e riscrivere il file escludendo la riga che voglio cancellare?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Beacons
    Per modificare una riga invece?
    Vedi questa discussione.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.