Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143

    Stampare un PrintStream in modo corretto

    Ciao,
    sto facendo delle prove per capire come stampare su un PrintStream al posto del System.out di default.
    Ho scritto questo codice:
    codice:
    import java.io.*;
    
    public class Redir 
    {
       public static void main(String [] args) throws Exception 
       {
           PrintStream ps = new PrintStream( new ByteArrayOutputStream() );
    
           System.out.println("Ciao1");
           
           PrintStream bck = System.out; //backup
           
           System.setOut(ps);
    
           System.out.println("Ciao2");
                  
           System.setOut(bck);
    
           System.out.println("Ciao3");
    
           System.out.println(ps.toString());
       }
    }
    Mi aspettavo che stampasse "Ciao1", "Ciao3" ma anche una forma corretta dell'oggetto ps, che se non ho capito male come usare gli stream dovrebbe contenere "Ciao2".
    Invece questo è l'output:
    codice:
    Ciao1
    Ciao3
    java.io.PrintStream@3e25a5
    Dove sto sbagliando?
    Grazie

  2. #2
    è cosa ti aspettavi stampando un oggetto PrintStream....
    codice:
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    PrintStream ps = new PrintStream(baos  );
    
           System.out.println("Ciao1");
           
           PrintStream bck = System.out; //backup
           
           System.setOut(ps);
    
           System.out.println("Ciao2");
                  
           System.setOut(bck);
    
           System.out.println("Ciao3");
    
    String content = baos.toString(charsetName); // e.g. ISO-8859-1
    System.out.println(content );

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