Moyen facile d'écrire du contenu d'une application Java InputStream à un OutputStream

J'ai été surpris de constater aujourd'hui que je ne pouvais pas trouver quelque moyen simple d'écrire le contenu d'un InputStream à un OutputStream en Java. Évidemment, le tampon d'octets de code n'est pas difficile à écrire, mais je pense que je suis juste en manque de quelque chose qui allait me rendre la vie plus facile (et le code plus clair).

Donc, étant donné un InputStream in et un OutputStream out, est-il un moyen plus simple d'écrire la suite?

byte[] buffer = new byte[1024];
int len = in.read(buffer);
while (len != -1) {
    out.write(buffer, 0, len);
    len = in.read(buffer);
}
  • Vous avez mentionné dans un commentaire que c'est pour une application mobile. Il est natif d'Android? Si oui, laissez-moi savoir et je vais poster une autre réponse (il peut être fait en une seule ligne de code sur Android).