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.