Clojure:
Escrevendo um arquivo de texto
Como fazer:
Escrevendo texto em um arquivo usando funções nativas do Clojure
A função spit
é a maneira mais simples de escrever texto em um arquivo em Clojure. Ela recebe dois argumentos: o caminho do arquivo e a string a ser escrita. Se o arquivo não existir, spit
irá criá-lo. Se já existir, spit
irá sobrescrevê-lo.
(spit "example.txt" "Olá, mundo!")
Para acrescentar texto a um arquivo existente, você pode usar a função spit
com a opção :append
.
(spit "example.txt" "\nVamos adicionar esta nova linha." :append true)
Após executar esses trechos de código, “example.txt” conterá:
Olá, mundo!
Vamos adicionar esta nova linha.
Usando bibliotecas de terceiros
Embora as capacidades nativas do Clojure frequentemente sejam suficientes, a comunidade desenvolveu bibliotecas robustas para tarefas mais complexas ou específicas. Para entrada/saída (I/O) de arquivos, uma biblioteca popular é clojure.java.io
, que fornece uma abordagem mais semelhante ao Java para o manuseio de arquivos.
Para usar clojure.java.io
para escrever em um arquivo, primeiro você precisa importá-la:
(require '[clojure.java.io :as io])
Então, você pode usar a função writer
para obter um objeto escritor, e a função spit
(ou outras, como print
, println
) para escrever no arquivo:
(with-open [w (io/writer "example_with_io.txt")]
(.write w "Isso foi escrito usando clojure.java.io"))
Isso criará (ou sobrescreverá, se já existir) “example_with_io.txt” com o texto:
Isso foi escrito usando clojure.java.io
Lembre-se: with-open
garante que o arquivo seja fechado devidamente após a escrita, evitando possíveis vazamentos de recursos.