Clojure:
Textdatei einlesen

How to:

;; Datei lesen
(slurp "pfad/zur/datei.txt")

Output:

"Das ist der Inhalt deiner Datei"
;; Zeilenweise lesen
(with-open [r (reader "pfad/zur/datei.txt")]
  (doall (line-seq r)))

Output:

("Erste Zeile" "Zweite Zeile" "Dritte Zeile")
;; Datei mit Ausnahmebehandlung lesen
(try
  (slurp "pfad/zur/datei.txt")
  (catch Exception e
    (str "Fehler beim Lesen der Datei: " (.getMessage e))))

Output bei Fehler:

"Fehler beim Lesen der Datei: Datei nicht gefunden"

Deep Dive:

Das Auslesen von Textdateien ist grundlegend und wurde schon in frühen Programmiersprachen wie C implementiert. Clojure, eine moderne Lisp-Variante, macht es simpel. Die Funktion slurp ist bequem, jedoch nicht effizient für große Dateien. Line-seq und der with-open-Block verhindern Speicherprobleme durch Lazy Loading der Zeilen. Alternativen wie java.io.BufferedReader bieten mehr Kontrolle, sind aber komplexer.

See Also: