Подтвердить что ты не робот

Преобразовать StreamWriter в OutputStream в java?

Я пытаюсь перенаправить System.out в строку, используя System.setOut, которая берет PrintStream. Есть ли способ конвертировать StringWriter в поток, чтобы я мог передать его в setOut?

4b9b3361

Ответ 1

Вы не можете сделать это точно, так как StringWriter - это Writer, а не Stream. Но вы можете это сделать:

// create a ByteArray stream, which will be wrapped by a PrintStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
System.setOut(ps);

// print whatever you got
String result = baos.toString();