Clojure:
Lese en tekstfil

How to:

Les en enkel tekstfil:

(with-open [rdr (java.io.BufferedReader. (java.io.FileReader. "path/til/din/fil.txt"))]
  (doseq [line (line-seq rdr)]
    (println line)))

Eksempelutdata:

Dette er linje en.
Dette er linje to.
Dette er linje tre.

Lag en funksjon for å lese alle linjene i en fil til en liste:

(defn les-fil-til-liste [filsti]
  (with-open [rdr (java.io.BufferedReader. (java.io.FileReader. filsti))]
    (doall (line-seq rdr))))

Bruk:

(les-fil-til-liste "path/til/din/fil.txt")
; => ("Dette er linje en." "Dette er linje to." "Dette er linje tre.")

Deep Dive

Lesing av filer har vært en grunnleggende del av programmering siden tidlige datamaskiner. I Clojure, som er en JVM-språk, benyttes Java sin I/O API for å lese filer. Det er viktig å lukke filressurser etter bruk, noe with-open tar seg av. Andre metoder inkluderer slurp for små filer og NIO for store eller binære filer. For storskala prosessering kan du bruke biblioteker som Apache Tika for avansert innholdsanalyse eller overveie parallell lesing for ytelse.

See Also