Clojure: Create a directory
I spent much longer than I should have done trying to work out how to create a directory in Clojure as part of an import script I’m working out so for my future self this is how you do it:
(.mkdir (java.io.File. "/path/to/dir/to/create"))
I’m creating a directory which contains today’s date so I’d want something like 'members-2014-05-24' if I was running it today. The clj-time library is very good for working with dates.
To create a folder containing today’s date this is what we’d have:
(ns neo4j-meetup.core
(:require [clj-time.format :as f]))
(def format-as-year-month-day (f/formatter "yyyy-MM-dd"))
(defn create-directory-for-today []
(let [date (f/unparse format-as-year-month-day (t/now))]
(.mkdir (java.io.File. (str "data/members-" date)))))
Initial code shamelessly stolen from Shu Wang’s gist so thanks to him as well!
About the author
I'm currently working on short form content at ClickHouse. I publish short 5 minute videos showing how to solve data problems on YouTube @LearnDataWithMark. I previously worked on graph analytics at Neo4j, where I also co-authored the O'Reilly Graph Algorithms Book with Amy Hodler.