Clojure:
Erstellung einer temporären Datei
How to:
Erzeugen einer temporären Datei in Clojure:
(require '[clojure.java.io :as io])
(let [temp-file (io/file (io/create-temp-file "mein-prefix" ".txt"))]
(spit temp-file "Das ist nur ein Test.")
(println "Temporäre Datei erstellt unter:" (.getPath temp-file))
;; Verwende die Datei ...
;; Lösche die temporäre Datei, wenn sie nicht mehr benötigt wird
(.delete temp-file))
Ausgabe:
Temporäre Datei erstellt unter: /tmp/mein-prefix1234567890.txt
Deep Dive:
Temporäre Dateien sind nicht neu. Sie wurden schon in frühen Betriebssystemen verwendet, um mit begrenztem Speicher zu arbeiten. Clojure, auf der JVM basierend, nutzt Java’s File
API, um temporäre Dateien zu erstellen und zu handhaben. Eine Alternative ist die Benutzung von Memory-Mapped Files für große Datenmengen. Ein Memory-Mapped File ordnet Dateiinhalte direkt dem Speicher zu, was schneller sein kann, da es Dateisystemoperationen reduziert.
Hinsichtlich Implementierung entscheidet das Betriebssystem, wo die Datei gespeichert wird, meist in einem speziellen Temp-Verzeichnis. Je nach System können diese Dateien nach einem Neustart oder nach einer bestimmten Zeit gelöscht werden. Das manuelle Löschen im Programm sichert, dass keine Altlasten übrig bleiben.