
getFilesDir().getAbsolutePath() ומשרשרים אליו /products, כלומר תיקייה פנימית ששייכת רק לאפליקציה.new File(path) שמתאר את התיקייה. המחלקה File מתארת גם קבצים וגם תיקיות.directory.exists(). אם התיקייה לא קיימת, יוצרים אותה. אחרת מציגים הודעה שהתיקייה כבר קיימת.mkdir יוצרת תיקייה אחת בלבד ומניחה שתיקיות האב כבר קיימות. כשהנתיב כולל כמה רמות חדשות (כמו products/clothing), משתמשים ב-mkdirs שיוצרת גם את תיקיות האב.Toast עם "done" אחרי יצירה, ו-"directory already exists" בהרצה חוזרת.products ובתוכה clothing תחת data/data/<package>/files. לחיצה שנייה על הלחצן הציגה "directory already exists".הטקסט המלא של הדקות הראשונות בהרצאה «Create Directory» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
כאשר אנחנו רוצים לכתוב או לקרוא מקבצים אנחנו הרבה פעמים רוצים ליצור את הקבצים עצמם. כאשר אנחנו עושים את זה לא כדאי ליצור את הקובץ באיזושהי תיקייה ראשית שקיימת אלא כדאי ליצור אותו בתת תיקייה משלנו.
בסרטון הזה אנחנו הולכים לראות איך אנחנו יכולים ליצור את התיקייה גם אם היא לא קיימת. דבר ראשון מה שאנחנו רוצים לעשות זה להשיג נתיב לתיקייה כזאת.
אז בואו ניקח כאן String Path וניקח את Get Files Deer ואנחנו בדוגמה הזאת הולכים לראות איך אנחנו יוצרים תיקייה שהיא אינטרנל כלומר היא שייכת רק לאפליקציה שלנו וזה כאמור מתבצע על ידי הפונקציה Get Files Deer.
אנחנו רוצים לקבל את הנתיב המלא Get Absolute Path אבל אנחנו רוצים לשרשר את התיקייה משלנו. אנחנו שמים פה סלאש ובואו נניח שהתיקייה שאנחנו רוצים היא פרודקטס.
אנחנו רוצים תיקייה שתחזיק נתונים לגבי מוצרים. הדבר הבא שאנחנו עושים זה יוצרים אובייקט פייל ואנחנו רוצים לתאר את התיקייה דיירקטורי וכפי שאמרנו המחלקה פייל מתארת גם קובץ וגם תיקייה.
קצת מבלבל אני אישית לא הייתי עושה את זה הייתי מבצע איזושהי הפרדה בין פייל לדיירקטורי אבל זה מה שקיים. במערכת אנדרואיד.
אז אנחנו רוצים ליצור אובייקט פייל חדש ולתת לו את הפאף. הדבר הבא שאנחנו רוצים לעשות זה בואו נבדוק קודם כל אם הדבר הזה לא קיים, כי אולי אנחנו כבר מריצים את זה פעם שנייה וכבר יצרנו את התיקייה הזאת.
אם אנחנו רוצים ליצור אותה אנחנו צריכים לבדוק האם הדבר הזה קיים כן או לא. אז אם זה לא קיים, אנחנו שמים פה not directory.exists האם זה לא קיים?
אנחנו רוצים to create it, זה יהיה directory.mkdir. הפונקציה mkdir פשוט יוצרת את התיקייה הזאת, אבל mkdir יוצרת תיקייה אחת, כלומר make dir.
אם אנחנו רוצים ליצור רק תיקייה אחת בנתיב שהוא כבר קיים, זה בסדר גמור. mkdir מניחה שכל ה-parents דירקטורי כבר קיימים.
אבל בואו לצורך הדוגמה, נבצע פה עוד תקייה פנימית בתוך פרודקט ונקרא לה לדוגמה clothing ו-clothing בעצם זה ביגוד בתוך פרודקט.
עכשיו בהתחלה לא קיימת לנו לא product ולא clothing אנחנו לא נוכל לקרוא ל-mkdeer אנחנו נצטרך לקרוא ל-mkdeers ברבים וזה אומר שהיא יוצרת פשוט את כל ה-parents דירקטורי גם אם הם לא קיימים.
אז הרבה פעמים פשוט mkdears הרבה יותר טובה לנו. זה ההבדל בין mkdears ל-mkdears.