Java: PrintStream для строкового представления?

110
задан Nick Heiner 19 November 2009 в 03:18
поделиться

3 ответа

Использовать ByteArrayOutputStream в качестве буфера:

import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.nio.charset.StandardCharsets;

    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    try (PrintStream ps = new PrintStream(baos, true, "UTF-8")) {
        yourFunction(object, ps);
    }
    String data = new String(baos.toByteArray(), StandardCharsets.UTF_8);
184
ответ дан 24 November 2019 в 03:13
поделиться

Вы можете создать PrintStream с ByteArrayOutputStream, переданным в конструктор, который позже можно будет использовать для захвата текста, записанного в PrintStream.

ByteArrayOutputStream os = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(os);
...
String output = os.toString("UTF8");
30
ответ дан 24 November 2019 в 03:13
поделиться

Возможно, вам поможет этот вопрос: Получить OutputStream в String

Подкласс OutputStream и заключить его в PrintStream

1
ответ дан 24 November 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: