Maison > Java > javaDidacticiel > Comment puis-je transférer efficacement le contenu InputStream vers OutputStream en Java ?

Comment puis-je transférer efficacement le contenu InputStream vers OutputStream en Java ?

Mary-Kate Olsen
Libérer: 2024-12-21 14:56:16
original
646 Les gens l'ont consulté

How Can I Efficiently Transfer InputStream Content to OutputStream in Java?

Méthode sans effort pour transférer le contenu d'InputStream vers OutputStream en Java

En Java, vous pouvez parfois avoir besoin d'un moyen transparent pour écrire le contenu d'un InputStream dans un OutputStream. Étonnamment, il peut être difficile de trouver une solution simple à cette tâche. Bien que l'implémentation manuelle du code de tampon d'octets soit gérable, il peut exister une approche plus élégante qui échappe tout simplement à votre attention.

Considérons un scénario avec un InputStream nommé « in » et un OutputStream nommé « out ». Pour transférer le contenu efficacement, vous pouvez instinctivement écrire un code similaire à celui-ci :

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

Cependant, il existe un moyen plus concis d'obtenir cette fonctionnalité, comme suggéré par WMR. En tirant parti de org.apache.commons.io.IOUtils d'Apache, vous pouvez utiliser la méthode « copy(InputStream, OutputStream) », qui gère sans effort la tâche de transfert pour vous.

Avec cette méthode, votre code devient incroyablement succinct :

InputStream in;
OutputStream out;
IOUtils.copy(in, out);
in.close();
out.close();
Copier après la connexion

Fini la gestion laborieuse des tampons, juste une seule ligne qui s'occupe de tout. Et pour répondre à votre préoccupation, il ne semble y avoir aucune raison impérieuse d'éviter d'utiliser IOUtils pour une tâche aussi simple. Son inclusion dans votre base de code peut grandement simplifier vos opérations de transfert de données.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal