Как написать в OutputStream напрямую, используя Stringtemplate 4.x?
Я не хочу звонить .render()
и построить очень большой Strings
из некоторых моих шаблонов. В предыдущих версиях вы могли написать OutputStream
непосредственно вместо того, чтобы визуализировать весь шаблон в String
и затем запишите это.
Я пытался с помощью ST.write()
с экземпляром NoIndentWriter
но это не производит никакого выхода.
Как вы пишете прямо на OutputStream
используя последнюю версию Stringtemplate
?
1 ответ
Решение
Вы можете использовать AutoIndentWriter
если вы хотите сохранить стандартное форматирование.
ST template = group.getInstanceOf("YourTemplate");
OutputStreamWriter osWriter = new OutputStreamWriter(stream);
STWriter stWriter = new AutoIndentWriter(osWriter);
template.write(stWriter);
osWriter.flush();