25
So come reindirizzare lo stdout in un file, ma non ho idea di come reindirizzare a una stringa.Reindirizzamento stdout a una stringa in Java
So come reindirizzare lo stdout in un file, ma non ho idea di come reindirizzare a una stringa.Reindirizzamento stdout a una stringa in Java
Sì - è possibile utilizzare un ByteArrayOutputStream
:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.setOut(new PrintStream(baos));
allora si può ottenere la stringa con baos.toString()
.
Per specificare la codifica (e non dipendere da quello definito dalla piattaforma), utilizzare il costruttore PrintStream(stream, autoFlush, encoding)
, e baos.toString(encoding)
Se si vuole tornare al flusso originale, uso:
System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));