Возможно, самый простой способ - обернуть его в другую реализацию OutputStream
, которая перенаправляет все запросы на запись, но сохраняет внутренний счетчик. Тогда вы просто пишите об этом. Не должно быть слишком сложно для реализации - и действительно, возможно, уже есть.
РЕДАКТИРОВАТЬ: просто угадать разумное имя (CountingOutputStream
) придумал реализацию в Apache Commons IO .
РЕДАКТИРОВАТЬ: Как отмечалось в другом месте, если это для HTTP и ваш клиент еще не выполняет буферизацию полных данных (в этом случае я бы подумал, это может определить длину содержимого) могут возникнуть проблемы из-за необходимости записи длины до записи данных. В некоторых случаях вы можете обнаружить, что он будет работать до определенного размера (который клиент буферизирует), а затем потерпит неудачу. В этом случае решения Дэвида будут уместны.