91 votes

Quelle est la différence entre Reader et InputStream?

Quelle est la différence entre Reader et InputStream? Et quand utiliser quoi? Si je peux utiliser Reader pour lire des caractères, pourquoi utiliser le flux d’entrée, puis-je lire des objets?

144voto

Berin Loritsch Points 3863

Un InputStream est le cru de la méthode d'obtention d'informations à partir d'une ressource. Il saisit les données octet par octet sans effectuer tout type de traduction. Si vous êtes à la lecture des données d'image ou un fichier binaire, c'est le flux à utiliser.

Un Lecteur est conçu pour les flux de caractères. Si les informations que vous lisez tout le texte, le Lecteur prendra soin de la caractère de décodage pour vous et vous donner des caractères unicode à partir de la crue du flux d'entrée. Si vous êtes à la lecture de tout type de texte, c'est le flux à utiliser.

Vous pouvez envelopper un InputStream et la transformer en un Lecteur à l'aide de la classe InputStreamReader.

Reader reader = new InputStreamReader(inputStream);

18voto

Vincent Ramdhanie Points 46265

Les InputStreams sont utilisés pour lire les octets d'un flux. Ils sont donc utiles pour les données binaires telles que les images, les vidéos et les objets sérialisés.

Les lecteurs, en revanche, sont des flux de caractères, ils sont donc mieux utilisés pour lire les données de caractères.

1voto

Aaron McIver Points 16766

L'un accepte les octets et l'autre accepte les caractères.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X