Devons-nous fermer InputStream en Java ?
Devons-nous fermer InputStream en Java ?

Vidéo: Devons-nous fermer InputStream en Java ?

Vidéo: Devons-nous fermer InputStream en Java ?
Vidéo: Java Tech Talk: Telegram бот на java за 1 час 2024, Novembre
Anonim

2 réponses. Tu faut fermer les flux d'entrée , car le flux renvoyé par la méthode que vous mentionnez est en fait FileInputStream ou une autre sous-classe de Flux d'entrée qui contient un handle pour un fichier. Si tu faire ne pas proche ce flux vous ont fuite de ressources.

En tenant compte de cela, est-il nécessaire de fermer InputStream en Java ?

Mais le flux d'entrée s n'est jamais fermé. Ceci est un autonome Java programmes et il existe plusieurs de ces programmes où le Flux d'entrée n'est jamais fermé. Normalement, le fichier sera fermé lorsque le Flux d'entrée l'objet est ramassé ou lorsque le programme se termine. Ce n'est normalement pas une bonne idée de laisser les choses ouvertes comme ça.

Aussi, pourquoi devrions-nous fermer les flux en Java ? Il est important de fermer les ruisseaux , pour libérer le descripteur de fichier détenu par cette classe, en tant que ressource limitée et utilisé à la fois dans la connexion par socket et dans la gestion des fichiers. Une grave fuite de ressources peut également entraîner une exception de descripteur de fichier.

Deuxièmement, dois-je fermer FileInputStream ?

Oui toi besoin de fermer le flux d'entrée si vous vouloir vos ressources système libérées. FileInputStream . proche () est ce que vous avoir besoin . Toi non plus besoin de fermer (), ou mettez fin à votre programme.

Dois-je fermer ByteArrayInputStream ?

4 réponses. Vous n'avez pas à fermer ByteArrayInputStream , au moment où il n'est référencé par aucune variable, le ramasse-miettes libère le flux et quelques octets (bien sûr en supposant qu'ils ne sont pas référencés ailleurs).

Conseillé: