Clojure:
קריאת קובץ טקסט
איך לעשות:
כדי לקרוא קובץ טקסט בקלוז’ר, תשתמשו בפונקציה slurp
. זה קוד פשוט לקריאת פנימה:
;; קריאת קובץ טקסט למחרוזת
(let [content (slurp "path/to/your/file.txt")]
(println content))
;; דוגמת פלט
; הנה הטקסט מהקובץ שלך!
או אם אתם צריכים לקרוא קובץ קטן כל שורה בנפרד:
;; קריאת קובץ טקסט לרשימת שורות
(with-open [rdr (reader "path/to/your/file.txt")]
(doseq [line (line-seq rdr)]
(println line)))
;; דוגמת פלט
; שורה 1
; שורה 2
; שורה 3
עיון מעמיק
קריאת קבצים היא עניין ישן כמעט כמו המחשבים עצמם. slurp
זה קל ונוח, אבל במקרים של קבצים גדולים, ייתכן שתרצו לקרוא בזרימה (stream
) ולא הכל במכה אחת. הפונקציה line-seq
שנראיתה מעלה עובדת עם reader
, שכן היא פולטת ערוך זרימתי של שורות, מותירה זמן לעיבוד כל שורה לפני קריאת הבאה.
בנוסף, בקלוז’ר יש עוד אופציות, כמו פונקציות read-line
, read-lines
, או שימוש בjava.io
ישירות לשליטה מעמיקה יותר.
ייתכנו גם ספריות שלישיות שיכולות להוסיף יכולות מעמיקות נוספות או לייעל את קריאת קבצים במקרים מסוימים.
ראו גם
התיעוד הרשמי של Clojure על קלט/פלט:
מדריכים ומאמרים שיכולים לעזור:
ואם אתם רוצים ללמוד יותר על עיבוד טקסט בקלוז’ר: