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.