Я хотел бы использовать PrintWriter или PrintStream для записи форматированных строк в выходной поток (для которых я не контролирую создание). Однако при очистке базового OutputStream наблюдается большой удар производительности.Необходимо ли очищать PrintWriter/PrintStream?
Необходимо ли очищать PrintWriter/PrintStream.
Если мне нужно очистить PrintStream/PrintWriter; могу ли я сделать это, не смывая базовый OutputStream, или мне нужно создать «поток-защитник» OutputStream, чтобы обернуть базовый поток?
Чтобы попытаться быть немного яснее на этом я хочу реализовать
public void writeSomeString(OutputStream foo);
Но этот метод может быть вызван несколько раз для одной и той же OutputStream (Foo). Каждый вызов должен будет создать собственный PrintWriter. Я знаю, что это уродливо, но я не контролирую интерфейс или создаю foo
.
Я стараюсь избегать каждого метода, который необходимо сбросить foo
, чтобы очистить собственный PrintWriter/PrintStream.
Так что я хочу:
public void writeSomeString(OutputStream foo) {
PrintStream s = new PrintStream(foo);
s.println("bar");
// other code
}
Я хочу, чтобы полностью избежать этого метода промывочной foo
Да, я думаю, мне придётся очистить его. Я буду обтекать входной поток, чтобы предотвратить его очистку от базового OutputStream. Благодарю. –
Добро пожаловать! –