Dois-je fermer un ByteArrayInputStream?

Petite question,

J'ai vu dans certains vieux code où un ByteArrayInputStream a été créé comme:

new BufferedReader(new InputStreamReader(new ByteArrayInputStream(somebytes)));

Et puis le BufferedReader est utilisé pour lire somebytes ligne par ligne.

Tous fonctionne bien, mais j'ai remarqué que le BufferedReader n'est jamais fermée.

C'est tout ce travail dans une longue course d'applications websphere, le somebytes sont pas terribles gros (200k plus), il n'est invoquée plusieurs fois par semaine et nous ne sommes pas confronté à l'un apparent des fuites de mémoire. Donc je pense que tous les objets sont correctement nettoyée.

J'ai toujours (une fois) appris que les flux d'entrées-sorties doivent être fermés, dans un finally déclaration. Sont ByteStreams l'exception à cette règle?

cordialement
Jeroen.

  • Merci à vous tous pour vos réponses et conseils! Comme un intervenant ci-dessous a souligné que c'était une question de RTFM ou "Avez-vous googlé?", puisque cette dernière n'a presque immédiatement révéler la réponse. Cependant, à ma connaissance, il a été volontaire à stackoverflow jusqu'à maintenant, et le bonus était les conseils de côté
InformationsquelleAutor dr jerry | 2011-02-25