PracticU

קבצים - Files - חלק 4

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מתקדם - #Advanced .NET C › קבצים - Files - חלק 4
מילון מושגים:
נתיב - מחרוזת שמתארת את מיקומו של קובץ או תיקייה במערכת הקבצים, או כתובת של משאב בתוך אתר.
לולאה - מבנה בקרה שחוזר על קטע קוד שוב ושוב כל עוד תנאי מתקיים או עבור כל פריט באוסף.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
אינדקס - מבנה במסד נתונים שמאיץ חיפוש ושליפה. גם מספר המציין מיקום של איבר במערך.
מחרוזת - סוג נתונים שמייצג רצף של תווים, כלומר טקסט, ומשמש לאחסון מילים, משפטים או כל רצף סימנים.

קבצים - Files - חלק 4
בשיעור הזה קוראים מקובץ טקסט בעזרת StreamReader, בכמה דרכים שונות לפי מה שצריך: תו אחד, בלוק של תווים, שורה שלמה או הקובץ כולו.
השלבים העיקריים
1. פתיחה לקריאה: StreamReader מקבל את נתיב הקובץ ופותח אותו לקריאה. לפני הקריאה כדאי לסגור את הקובץ עם Dispose כדי לא לשכוח.
2. קריאת תו בודד: Read מחזירה int, ולכן צריך קאסט ל-char. בלולאה בודקים את EndOfStream כל עוד לא הגענו לסוף הקובץ, ומדפיסים את התווים אחד אחרי השני.
3. קריאת בלוק: Read עם מערך תווים, אינדקס והכמות שרוצים לקרוא ממלא את המערך מהקובץ. כל קריאה ממשיכה מהמקום שבו נעצרה הקודמת.
4. קריאת שורה: ReadLine מחזירה שורה שלמה בכל קריאה, ומחזירה null כשאין עוד שורות. זו הדרך הנפוצה כשכל שורה מייצגת פריט נפרד.
5. קריאת כל הקובץ: ReadToEnd מחזירה את כל תוכן הקובץ כמחרוזת אחת.
6. בחירת שיטה: בשיעור מוסבר שכל אחת מהשיטות מתאימה למצב אחר, ושאפשר לבחור את הנכונה לפי הצורך.
בסיום השיעור ברור שאפשר לקרוא קובץ טקסט בכמה דרכים, ושהבחירה תלויה בצורה שבה הנתונים בקובץ מסודרים.
השיעור הבא בקורס: קבצים - Files - חלק 5

פרקי ההרצאה: קבצים - Files - חלק 4

  1. 00:00

    הרצה חוזרת והוספה לקובץ

  2. 00:48

    קריאת קובץ עם StreamReader

  3. 01:52

    קריאת תו בודד עם Read

  4. 02:51

    לולאת קריאה עד EndOfStream

  5. 04:18

    קריאה למערך תווים

תמלול ההרצאה: קבצים - Files - חלק 4

הטקסט המלא של הדקות הראשונות בהרצאה «קבצים - Files - חלק 4» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:06

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

  2. 00:34

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

  3. 01:05

    המחלקה שמאפשרת לנו לפתוח קובץ לצורך קריאה, קובץ טקסטואלי, נקראת Stream Reader. בואו ניתן לה את אותו הקובץ בדיוק.

  4. 01:27

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

  5. 01:44

    בואו נסתכל על כל השיטות שקיימות. קודם כל יש לנו אפשרות to read תו בודד. למרות שהפונקציה read מחווירה integer, היא מסוגלת לקרוא תווים בודדים ומחווירה את התו כ-int.

  6. 02:07

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

  7. 02:20

    בואו ננסה לבצע קריאה של תווים בודדים. בואו ניקח פה char ch כמובן אנחנו צריכים לבצע קאסטינג ל-char כי היא מחזירה int. למעשה לפני שאנחנו מבצעים קריאה כדאי לנו לבדוק האם יש לנו מה לקרוא כי יכול להיות שבכלל הקובץ ריק ולכן בואו נפתח תו או שאפילו בואו נעשה כזה דבר.

  8. 02:52

    בואו ניקח לולאה שרצה color reader.end of stream זאת בעצם איזשהו פרופרטי בולעני שאומר האם הגענו לסוף הקובץ בתהליך הקריאה או לא. ומה שאנחנו יכולים לעשות זה פשוט לקחת את הtab reader.read נהפוך אותו ל-char ונציג אותו על המסך.

  9. 03:34

    לבסוף נבצע dispose לקובץ, בואו נבדוק את זה. נכון, אנחנו צריכים כל עוד זה לא end of stream. וקיבלנו את כל הקובץ בדיוק כמו שהוא.

  10. 03:59

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

  11. 04:25

    פונקציית read מאפשרת גם לקבל מערך תווים, והיא יכולה פשוט לקרוא את המידע לתוך המערך. היא מקבלת מערך, אינדקס וקאונט וכמה אתם רוצים לקרוא ומאיפה.

לקורס המלא: קורס תכנות מתקדם ב‑#C ודוט-נט

ההרצאה הקודמת: קבצים - Files - חלק 3

ההרצאה הבאה: קבצים - Files - חלק 5

הרצאות קשורות מקורסים אחרים

  • קבצים - files
  • Text Files
  • files ownership
  • עבודה עם קבצים ב-Xcode - חלק 1

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס WCF - תקשורת למתקדמים בדוט-נט