Maison >Java >javaDidacticiel >Comment puis-je facilement copier un InputStream vers un OutputStream en Java ?
Écrire facilement le contenu d'un InputStream dans un OutputStream en Java
Copier le contenu d'un InputStream vers un OutputStream en Java est une tâche courante. Bien qu'il soit possible d'écrire du code de tampon d'octets, il peut exister une solution plus simple.
Considérez un scénario dans lequel vous avez un InputStream en entrée et un OutputStream en sortie. Le code suivant illustre l'approche conventionnelle :
byte[] buffer = new byte[1024]; int len = in.read(buffer); while (len != -1) { out.write(buffer, 0, len); len = in.read(buffer); }
Présentation d'Apache IOUtils
Comme WMR l'a suggéré, la classe org.apache.commons.io.IOUtils d'Apache fournit une méthode appelée copy(InputStream, OutputStream ) qui simplifie cette tâche.
En utilisant IOUtils, le code devient plus concis et simple :
IOUtils.copy(in, out); in.close(); out.close();
Bien que l'utilisation de IOUtils soit recommandée, si vous avez des raisons spécifiques de l'éviter, vous pouvez implémenter votre propre code de tampon d'octets personnalisé, comme indiqué dans l'extrait de code d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!