Müssen wir InputStream in Java schließen?
Müssen wir InputStream in Java schließen?

Video: Müssen wir InputStream in Java schließen?

Video: Müssen wir InputStream in Java schließen?
Video: Java Streams InputStream & OutputStream| Java Tutorial für Fortgeschrittene 2024, Kann
Anonim

2 Antworten. Du muss schließen das Eingabestrom , da der von der von Ihnen erwähnten Methode zurückgegebene Stream tatsächlich FileInputStream oder eine andere Unterklasse von. ist Eingabestrom das ein Handle für eine Datei enthält. wenn du tun nicht nah dran dieser stream du verfügen über Ressourcenverlust.

Ist es unter Berücksichtigung dieser Tatsachen erforderlich, InputStream in Java zu schließen?

Aber die Eingabestrom s ist nie geschlossen. Dies ist ein eigenständiges Java Programme und es gibt mehrere solcher Programme, bei denen die Eingabestrom ist nie geschlossen. Normalerweise wird die Datei geschlossen, wenn die Eingabestrom Objekt wird Garbage Collected oder wenn das Programm endet. Es ist normalerweise keine gute Idee, solche Dinge offen zu lassen.

Warum sollten wir außerdem Streams in Java schließen? Es ist wichtig, dass Bäche schließen , um den von dieser Klasse gehaltenen Dateideskriptor als seine begrenzte Ressource freizugeben und sowohl für die Socket-Verbindung als auch für die Dateibehandlung zu verwenden. Ein schwerwiegendes Ressourcenleck kann auch zu einer Dateideskriptor-Ausnahme führen.

Zweitens, muss ich FileInputStream schließen?

Ja du muss schließen der Inputstream, wenn du wollen Ihre Systemressourcen werden wieder freigegeben. FileInputStream . nah dran () ist was du brauchen . Du entweder muss schließen () oder beenden Sie Ihr Programm.

Muss ich ByteArrayInputStream schließen?

4 Antworten. Du musst nicht ByteArrayInputStream schließen , in dem Moment, in dem keine Variable darauf verweist, gibt der Garbage Collector den Stream und einige Bytes frei (natürlich vorausgesetzt, dass sie nicht woanders referenziert werden).

Empfohlen: