Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [JAVA]: cambiare standard output verso un file di testo

    ho un programma in Java che praticamente stampa tutti i risultati che genera sulla shell di DOS.
    volevo reindirizzare l'output del programma in un file di testo così ho scritto la seguente parte di codice:

    File outFile=new File("risultati.txt");
    FileOutputStream fw;
    try{
    fw=new FileOutputStream(outFile);
    }catch(IOException e){
    fw=null;
    }
    PrintStream Output=new PrintStream(fw);
    System.setOut(Output);

    in questo modo i risultati vengono stampati nel file però non vengono riconosciuti i caratteri \n \t.
    Praticamente ottengo tutti i risultati sulla stessa riga.

    l'istruzione che uso per l'output generalmente è: System.out.print();

    come posso fare per creare un file di testo che riproduce pienamente l'output della shell di DOS.

    grazie.


    io vorrei fare in modo che tutti i risultati stampati possano essere visualizzati richiamando la funzione.
    praticamente ho un client che richiama questo programma e vorrei far in modo che il client possa leggere le informazioni del file.
    avete qualche idea a riguardo?
    e come mai il file di testo non mi memorizza i risultati in modo leggibile?
    Luca >> http://www.pollosky.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    prova con questo:
    codice:
    public boolean salvaOrd(String cliente){
          PrintWriter out=null;
          try{
             OutputStreamWriter fout = new OutputStreamWriter(new FileOutputStream("Ord.txt",true));
    
            out = new PrintWriter(fout);
            out.print();// qui inserisci quello che vuoi salvare
            out.close();
            out.flush();
             }catch(Exception e){return false;}
           return true;}

  3. #3
    ho provato ma non mi funziona.
    cioè quello che devo fare io è fare in modo che tutte le cose che scrivo attraverso il comando System.out.print() siano scritte nel file di testo, riconoscendo però anche i caratteri del tipo \t \n.
    come si fa?
    Luca >> http://www.pollosky.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    memorizzi quello che va in output in una stringa che andrà scritta poi nel file. Alla fine della stringa metti \n così va a capo

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    A me questo codice funziona perfettamente:
    codice:
    import java.io.*;
    
    public class Redirezione {
       public static void main(String [] args) throws Exception {
          PrintStream ps = new PrintStream( new FileOutputStream("MioFile.txt") );
          System.setOut(ps);
          System.out.print("Tabulazione\teffettuata\n");
          System.out.print("E anche l'andata\ta capo\n");
       }
    }
    Per andare a capo puoi anche tranquillamente usare il metodo println() al posto del print().


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Ciao, invece come faccio, dopo aver settato l'Output verso un file di testo, a ripristinare quello di default?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.