Πρέπει να κλείσουμε το InputStream στην Java;
Πρέπει να κλείσουμε το InputStream στην Java;

Βίντεο: Πρέπει να κλείσουμε το InputStream στην Java;

Βίντεο: Πρέπει να κλείσουμε το InputStream στην Java;
Βίντεο: How to Show your Controller on Stream OBS! Display Controller in LiveStream! Onscreen Controls OBS! 2024, Νοέμβριος
Anonim

2 Απαντήσεις. Εσείς χρειάζεται να κλείσει ο ροή εισόδου , επειδή η ροή που επιστρέφεται με τη μέθοδο που αναφέρετε είναι στην πραγματικότητα FileInputStream ή κάποια άλλη υποκατηγορία InputStream που κρατά μια λαβή για ένα αρχείο. Αν εσύ κάνω δεν Κλείσε αυτό το ρεύμα σας έχω διαρροή πόρων.

Έχοντας αυτό υπόψη, είναι απαραίτητο να κλείσετε το InputStream σε Java;

Αλλά το ροή εισόδου s δεν είναι ποτέ κλειστό. Αυτό είναι αυτόνομο Ιάβα προγράμματα και υπάρχουν αρκετά τέτοια προγράμματα όπου το InputStream δεν κλείνει ποτέ. Κανονικά το αρχείο θα κλείσει όταν το InputStream αντικείμενο συλλέγονται σκουπίδια ή όταν τελειώνει το πρόγραμμα. Συνήθως δεν είναι καλή ιδέα να αφήνουμε τα πράγματα ανοιχτά έτσι.

Επίσης, γιατί πρέπει να κλείνουμε ροές σε Java; Είναι σημαντικό να κλείστε ρέματα , για την κυκλοφορία του περιγραφικού αρχείου που διατηρεί αυτή η κλάση, ως περιορισμένου πόρου και χρησιμοποιείται τόσο στη σύνδεση υποδοχής όσο και στη διαχείριση αρχείων. Μια σοβαρή διαρροή πόρων μπορεί επίσης να οδηγήσει σε εξαίρεση του περιγραφέα αρχείου.

Δεύτερον, πρέπει να κλείσω το FileInputStream;

Ναι εσύ πρέπει να κλείσει τη ροή εισόδου εάν θέλω Οι πόροι του συστήματός σας απελευθερώθηκαν. FileInputStream . Κλείσε () είναι αυτό που εσύ χρειάζομαι . Ούτε εσύ πρέπει να κλείσει (), ή τερματίστε το πρόγραμμά σας.

Πρέπει να κλείσω το ByteArrayInputStream;

4 Απαντήσεις. Δεν χρειάζεται κλείστε το ByteArrayInputStream , τη στιγμή που δεν αναφέρεται από καμία μεταβλητή, ο συλλέκτης σκουπιδιών θα απελευθερώσει τη ροή και μερικά byte (φυσικά υποθέτοντας ότι δεν αναφέρονται κάπου αλλού).

Συνιστάται: