Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258

    rendere piu versatili i metodi per scrivere su console

    Ciao a tutti,
    ho gia dei metodi che mi stampano il risultato sul terminale. Vorrei modificarli leggermente per fare in modo che stampino anche su file.

    stavo pensando a qualche cosa del genere:

    un oggetto out che puo essere assegnato in uno dei due modi nel metodo:

    out = System.out
    out = new PrintWriter(new File("xxx.txt"));

    e poi nel corso del metodo potrei utilizzare out.println();

    pero quale dovrebbe essere il tipo di out, ammesso che si riesca a fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    20
    secondo me crei una classe.
    ha una variabile intera interna che indica dove scrivere (su file o su terminale o quant'altro)
    poi una funzione pubblica scrivi, che in base al valore della variabile sopracitata esegue il giusto codice.
    non potrai fare
    codice:
    out = System.out;
    out = new PrintWriter(new File("xxx.txt"));
    ma
    codice:
    out = new NomeClasse(System.out);
    out = new NomeClasse( new PrintWriter(new File("xxx.txt")) );
    //addirittura
    out = new NomeClasse( new File("xxx.txt") );
    ovvio che sta a te scrivere il codice dei costruttori e utilizzo dei flussi

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    Ho trovato la soluzione...geniale questa cosa.

    codice:
    import java.io.*;
    
    class Scrittura{
    public static void main(String args[]) throws IOException{
      // PrintStream w = System.out;
      PrintWriter w = new PrintWriter(System.out);
      w.println("Ciao");
      w.flush();
      w = new PrintWriter(new File("xxx.txt"));
      w.println("Hello");
      w.close();
    
    }
    
    
    }
    p.s: ciao Bifrost, non avevo letto, grazie.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    Cosa dovrei fare, se volessi appendere del contenuto extra al file xxx.txt? Ad esempio se creo un'altra classe che voglio che non sovrascrivi il contenuto.

  5. #5
    Originariamente inviato da Lucked
    Cosa dovrei fare, se volessi appendere del contenuto extra al file xxx.txt? Ad esempio se creo un'altra classe che voglio che non sovrascrivi il contenuto.
    Scrivendo nel file in accodamento:
    codice:
    PrintWriter(tuoOutputStream, true)

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2003
    Messaggi
    1,258
    non ho capito dove devo metterlo il true, ho provato in diversi modi...ma niente

    w = new PrintWriter(new File("xxx.txt"), true);
    w.println("ciao", true);
    ...tutti sbagliati

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da VincenzoTheBest
    Scrivendo nel file in accodamento:
    codice:
    PrintWriter(tuoOutputStream, true)
    In PrintWriter il valore booleano del costruttore non indica "append" ma "flush", come scritto nella javadoc.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    Originariamente inviato da VincenzoTheBest
    Scrivendo nel file in accodamento:
    codice:
    PrintWriter(tuoOutputStream, true)
    Mi sono sbagliato. L'oggetto giusto è questo:

    codice:
    FileWriter(String fileName, boolean append)
    http://download.oracle.com/javase/1....ileWriter.html

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.