Se per dinamico intendi un array nel quale tu puoi scrivere senza preoccupari di controllare se sfori la grandezza del buffer certo che lo puoi fare, usa la classe ByteArrayOutputStream, ci scrivi tutti i byte che vuoi senza dover fare controlli sulla grandezza.
Questa classe estende InputStream quindi ha metodi write x scriverci dentro