Manera fácil de escribir contenidos de un Java InputStream en un OutputStream

Me sorprendió encontrar hoy que no podía localizar ninguna forma simple de escribir el contenido de unInputStream a unaOutputStream en Java Obviamente, el código de búfer de bytes no es difícil de escribir, pero sospecho que me falta algo que me haría la vida más fácil (y el código más claro).

Entonces, dado unInputStream in y unOutputStream out, ¿hay una manera más simple de escribir lo siguiente?

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

Respuestas a la pregunta(21)

Su respuesta a la pregunta