; (import '[java.nio.file Files FileSystems CopyOption StandardCopyOption]) (defn extract-file-from-zip [zip-file-name source destination] (let [zip-file (io/file zip-file-name) src (io/file source) dest (io/file destination) fs (FileSystems/newFileSystem (.toPath zip-file) nil) file-in-zip (.getPath fs source (into-array String []))] (Files/copy file-in-zip (.toPath dest) (into-array CopyOption [StandardCopyOption/REPLACE_EXISTING])))) (defn expand-home [s] (if (.startsWith s "~") (clojure.string/replace-first s "~" (System/getProperty "user.home")) s))