25
Sé cómo redirigir la stdout a un archivo, pero no tengo idea de cómo redirigirlo a una cadena.Redirigir stdout a una cadena en Java
Sé cómo redirigir la stdout a un archivo, pero no tengo idea de cómo redirigirlo a una cadena.Redirigir stdout a una cadena en Java
Sí - se puede utilizar un ByteArrayOutputStream
:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
System.setOut(new PrintStream(baos));
entonces se puede obtener la cadena con baos.toString()
.
Para especificar la codificación (y no depender de la definida por la plataforma), utilice el constructor PrintStream(stream, autoFlush, encoding)
y baos.toString(encoding)
Si desea volver al flujo original, utilice:
System.setOut(new PrintStream(new FileOutputStream(FileDescriptor.out)));