Skip to content

Instantly share code, notes, and snippets.

@ifesdjeen
Created May 1, 2013 20:14
Show Gist options
  • Save ifesdjeen/5498006 to your computer and use it in GitHub Desktop.
Save ifesdjeen/5498006 to your computer and use it in GitHub Desktop.
Do something within temporary directory
(defmacro with-temp-file
[f-sym & body]
`(let [prefix# (.toString (UUID/randomUUID))
postfix# (.toString (UUID/randomUUID))
~f-sym (java.io.File/createTempFile prefix# postfix#)]
(try
(do ~@body)
(finally
(.delete ~f-sym)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment