Maneira fácil de gravar o conteúdo de um InputStream Java em um OutputStream

Fiquei surpreso ao descobrir hoje que não consegui rastrear nenhuma maneira simples de escrever o conteúdo de umInputStream para umOutputStream em Java. Obviamente, o código do buffer de bytes não é difícil de escrever, mas suspeito que estou perdendo algo que tornaria minha vida mais fácil (e o código mais claro).

Então, dado umInputStream in e umOutputStream out, existe uma maneira mais simples de escrever o seguinte?

byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
    out.write(buffer, 0, len);
    len = in.read(buffer);
}