Creating a temporary file

How to:

Clojure makes it simple. The library has your back.

(require '[ :as io])

; Create a temp file
(def temp-file (io/file (io/create-temp-file "prefix-" ".txt")))

; Use the temp file
(spit temp-file "Temporary data is temporary")

; Check contents
(println (slurp temp-file)) ; => "Temporary data is temporary"

; Clean up by deleting the temp file when you're done
(.delete temp-file)

Nothing sticks forever. Our temporary data now rests in peace.

Deep Dive

The notion of temporary files has been around since the early days of computing, mainly to avoid using up limited primary storage. It’s like digital rent-a-space.

Clojure leans on Java’s shoulders here, using Java’s File class capabilities. While you could dive into the Java jungle directly, Clojure wraps it up neatly.

Alternatives? You bet. Temp directories are a thing. But that’s another story, and Clojure has got that covered too (enter create-temp-dir).

Why not just use memory? Well, temp files are perfect for handling data too big for RAM or when you’d like a physical file without worrying about long-term storage or cleanup.

See Also