Clojure:
Verificando se um diretório existe
Como fazer:
Clojure, sendo uma linguagem JVM, pode utilizar a classe java.io.File
do Java para esse propósito. Você não precisa de nenhuma biblioteca de terceiros para uma operação tão básica. Veja como você pode fazer isso:
(import 'java.io.File)
(defn directory-exists? [dir-path]
(let [dir (File. dir-path)]
(.exists dir)))
;; Exemplo de uso
(println (directory-exists? "/caminho/para/seu/diretorio")) ;; verdadeiro ou falso
Esta função, directory-exists?
, recebe um caminho de diretório como uma string e retorna true
se o diretório existe e false
caso contrário. Isso é alcançado criando um objeto File
com o caminho do diretório e então chamando o método .exists
nesse objeto.
Além da interoperabilidade com Java puro, você pode usar bibliotecas Clojure que abstraem parte do boilerplate Java. Uma dessas bibliotecas é clojure.java.io
. No entanto, para verificar se um diretório existe, você ainda usaria a classe File
, mas poderá achar a biblioteca útil para outras operações com arquivos. Exemplo:
(require '[clojure.java.io :as io])
(defn directory-exists?-clojure [dir-path]
(.exists (io/file dir-path)))
;; Exemplo de uso
(println (directory-exists?-clojure "/outro/caminho/para/verificar")) ;; verdadeiro ou falso
Esta versão é bastante semelhante, mas usa a função io/file
do Clojure para criar o objeto File
. Este método se integra de maneira mais natural a bases de código Clojure ao aproveitar a biblioteca de Clojure para operações de IO, em vez de interagir diretamente com classes Java.