Question brève,
J'ai vu dans un vieux code qu'un ByteArrayInputStream
a été créé comme :
new BufferedReader(new InputStreamReader(new ByteArrayInputStream(somebytes)));
Ensuite, le BufferedReader
est utilisé pour lire somebytes
ligne par ligne.
Tout fonctionne bien, mais j'ai remarqué que le BufferedReader
n'est jamais fermée.
Tout cela fonctionne dans une application websphere de longue date, la somebytes
ne sont pas très grands (200k au maximum), il n'est invoqué que quelques fois par semaine et nous ne connaissons pas de fuites de mémoire apparentes. Je m'attends donc à ce que tous les objets soient collectés avec succès.
J'ai toujours (une fois) appris que les flux d'entrée/sortie devaient être fermés, dans une finally
déclaration. Sont ByteStreams
l'exception à cette règle ?
Avec mes salutations les plus cordiales Jeroen.