Haskell:
Escrevendo um arquivo de texto
Como Fazer:
A Prelude padrão do Haskell oferece suporte elementar para escrever em arquivos usando as funções writeFile
e appendFile
do módulo System.IO
. Aqui está um exemplo básico de como criar um novo arquivo (ou sobrescrever um existente) e, em seguida, anexar texto a um arquivo.
import System.IO
-- Escrevendo em um arquivo, sobrescrevendo se existir
main :: IO ()
main = do
writeFile "example.txt" "Esta é a primeira linha.\n"
appendFile "example.txt" "Esta é a segunda linha.\n"
Quando você executa este programa, ele cria (ou limpa) example.txt
e escreve “Esta é a primeira linha.” seguido por “Esta é a segunda linha.” na próxima linha.
Para um tratamento de arquivos mais avançado, os programadores de Haskell costumam recorrer ao pacote text
para processamento eficiente de strings e ao pacote bytestring
para manipulação de dados binários. Veja como usar o pacote text
para E/S de arquivo:
Primeiro, você precisa adicionar text
às dependências do seu projeto. Então, você pode usá-lo da seguinte forma:
import qualified Data.Text as T
import qualified Data.Text.IO as TIO
-- Escrevendo em um arquivo usando o pacote text
main :: IO ()
main = do
let conteúdo = T.pack "Usando o pacote text para melhor desempenho.\n"
TIO.writeFile "textExample.txt" conteúdo
TIO.appendFile "textExample.txt" $ T.pack "Anexando a segunda linha.\n"
Neste trecho, T.pack
converte uma String
regular para o tipo Text
, que é mais eficiente. TIO.writeFile
e TIO.appendFile
são os equivalentes no text
para escrever e anexar a arquivos, respectivamente.
Executar este código resultará em um arquivo chamado textExample.txt
com duas linhas de texto, demonstrando capacidades tanto de criação quanto de anexação usando a biblioteca text
avançada para melhor desempenho e capacidade no manuseio de texto Unicode.