כיצד פועל Java InputStream

Kyzd Pw L Java Inputstream



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

כתיבה זו תפרט על פעולתו של 'InputStream' ב-Java.







כיצד פועל Java InputStream?

מחלקת 'InputStream' של ' java.io חבילה מתאימה ל- superclass מופשטת שמחזירה זרם קלט המורכב מבייטים כנגד הקובץ שצוין.



תת מחלקות של InputStream

על מנת להחיל את הפונקציות 'InputStream', ניתן להשתמש במחלקות המשנה הבאות שלו:



    • FileInputStream
    • ObjectInputStream
    • ByteArrayInputStream

זה כזה שמחלקות המשנה הללו מרחיבות את המחלקה 'InputStream'.





שיטות של InputStream

המחלקה 'InputStream' מכילה שיטות שונות המיושמות על ידי תת המחלקות שלה. להלן כמה מהשיטות הנפוצות ביותר:

שיטות פונקציונליות
לקרוא() הוא קורא בתים של נתונים מזרם הקלט.



read(בייט[] מערך) הוא גם קורא בתים מהזרם ומאחסן אותם במערך היעד.

לדלג() שיטה זו מדלגת/משמיטה את המספר הספציפי של בתים מזרם הקלט.

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

סימן() שיטה זו מסמנת את המיקום בזרם עד אשר הנתונים נקראו.

markSupported() הוא מנתח אם שיטות 'mark()' ו-'reset()' נתמכות/תואמות בזרם.


לפני המעבר לדוגמא, ייבא את החבילות הבאות לעבודה עם 'InputStream' ותת המחלקה שלו:

ייבוא ​​java.io.FileInputStream;
ייבוא ​​java.io.InputStream;


דוגמה: עבודה של InputStream ב-Java

דוגמה זו ממחישה את פעולתו של 'InputStream' על ידי קריאת תוכן הקובץ באמצעות שיטות 'InputStream':

זרם קלט בכיתה ציבורית {
ריק סטטי ציבורי ראשי ( מחרוזת ארגומנטים [ ] ) {
בייט [ ] givenarray = בייט חדש [ חמישים ] ;
לְנַסוֹת {
InputStream readData = New FileInputStream ( 'readfile.txt' ) ;
System.out.println ( 'בתים בקובץ -> ' + readData.available ( ) ) ;
readData.read ( מערך נתון ) ;
System.out.println ( 'קרא את נתוני הקובץ: ' ) ;
מחרוזת containdata = מחרוזת חדשה ( מערך נתון ) ;
System.out.println ( מכיל נתונים ) ;
readData.close ( ) ;
}
לתפוס ( חריג למעט ) {
except.getStackTrace ( ) ;
}
} }


על פי שורות הקוד לעיל, בצע את השלבים המפורטים להלן:

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

תְפוּקָה


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

תוכן הקובץ


כדי לקבל סקירה כללית של ' לדלג() ' ו' אִתחוּל() ' שיטות, שקול את ההדגמה הבאה:


באיור זה, שיטת 'skip()' מדלגת על מספר הבתים שצוין, כלומר, ' 5 -> ג'אווה ' מתוכן הקובץ מההתחלה. שיטת 'reset()' מאפסת את הזרם.

סיכום

ה ' InputStream 'הכיתה של' java.io חבילה היא מחלקה מופשטת התואמת לזרם קלט של בתים המשמש לקריאת נתוני הקובץ. מחלקה זו כוללת שיטות שונות המסייעות במתודולוגיות הקריאה של הקובץ ביעילות לפי הדרישה. בלוג זה הדגים את המטרה והפעולה של 'InputStream' ב-Java.