Ciao,
sto facendo delle prove per capire come stampare su un PrintStream al posto del System.out di default.
Ho scritto questo codice:
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".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()); } }
Invece questo è l'output:
Dove sto sbagliando?codice:Ciao1 Ciao3 java.io.PrintStream@3e25a5
Grazie
![]()

Rispondi quotando