Clojure:
Читання текстового файлу
Як це зробити:
;; Читання усього файлу як рядка
(slurp "шлях/до/файлу.txt")
;; Читання файла по рядках
(with-open [rdr (reader "шлях/до/файлу.txt")]
(doseq [line (line-seq rdr)]
(println line)))
Приклад вивода:
"Це перший рядок вашого текстового файлу."
"Це другий рядок, гарного дня!"
...
Поглиблено:
Читання текстових файлів у Clojure не нове. Принципи схожі на інші мови програмування, але з ідіоматичним синтаксисом Clojure. Функція slurp
проста для використання, коли файл не надто великий. Для великих файлів краще використовувати ліниве читання рядків через line-seq
, щоб уникнути нестачі пам’яті.
Інші способи:
- Використання бібліотеки
clojure.java.io
для більш складних операцій (наприклад, з двійковими файлами). - Лінива обробка даних з потоком (streams) і
with-open
дає змогу ефективно обробляти файли.
Імплементація: Для читання файлів Clojure використовує Java Virtual Machine (JVM), а отже і Java API. Це дає стабільність та швидкодію.