האם עלינו לסגור את InputStream ב-Java?
האם עלינו לסגור את InputStream ב-Java?

וִידֵאוֹ: האם עלינו לסגור את InputStream ב-Java?

וִידֵאוֹ: האם עלינו לסגור את InputStream ב-Java?
וִידֵאוֹ: קטע חזק בנושא האם לסגור את הישיבות | הרב דניאל זר 2024, דֵצֶמבֶּר
Anonim

2 תשובות. אתה צריך לסגור ה זרם קלט , מכיוון שהזרם המוחזר בשיטה שציינת הוא למעשה FileInputStream או תת מחלקה אחרת של InputStream שמחזיק ידית לקובץ. אם אתה לַעֲשׂוֹת לֹא סגור זורם אותך יש דליפת משאבים.

בהתחשב בכך, האם יש צורך לסגור את InputStream ב-Java?

אבל ה זרם קלט s אף פעם לא סגור. זהו מכשיר עצמאי Java תוכניות ויש כמה תוכניות כאלה שבהן InputStream לעולם אינו סגור. בדרך כלל הקובץ ייסגר כאשר InputStream האובייקט נאסף אשפה או כשהתוכנית מסתיימת. בדרך כלל זה לא רעיון טוב להשאיר דברים פתוחים ככה.

כמו כן, מדוע עלינו לסגור זרמים בג'אווה? זה חשוב ל לסגור זרמים , כדי לשחרר את מתאר הקבצים המוחזק על ידי מחלקה זו, כמשאב המוגבל שלה ומשמש הן בחיבור שקע והן בטיפול בקבצים. דליפת משאבים רצינית עלולה לגרום גם לחריגת מתאר קבצים.

שנית, האם אני צריך לסגור את FileInputStream?

כן אתה צריך לסגור זרם הקלט אם אתה רוצה משאבי המערכת שלך שוחררו בחזרה. FileInputStream . סגור () זה מה שאתה צוֹרֶך . גם אתה צריך לסגור (), או לסיים את התוכנית שלך.

האם אני צריך לסגור את ByteArrayInputStream?

4 תשובות. אתה לא חייב סגור את ByteArrayInputStream , ברגע שהוא לא מופנה על ידי שום משתנה, אספן זבל ישחרר את הזרם ועוד כמה בייטים (כמובן בהנחה שהם לא מוזכרים במקום אחר).

מוּמלָץ: