Вы можете написать свой собственный FilterOutputStream :
Этот класс является суперклассом всех классов, которые фильтруют выходные потоки. Эти потоки располагаются поверх уже существующего выходного потока (базового выходного потока), который он использует в качестве основного приемника данных, но, возможно, преобразует данные на этом пути или обеспечивает дополнительную функциональность.
BufferedOutputStream buffer = new BufferedOutputStream(super.getOutputStream());
FilterOutputStream filter = new FilterOutputStream(buffer) {
@Override
public void write( int b ) throws IOException {
// modify b
out.write( b );
}
};
return new DelegatingServletOutputStream(filter);