Você está aqui: Node.js ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em arquivos de forma síncrona e assíncrona usando as funções writeFile() e writeFileSync() do módulo File System do Node.jsQuantidade de visualizações: 2954 vezes |
As operações de escrever ou gravar dados em arquivos estão entre as tarefas mais frequentes que realizamos em nossas aplicações. Gravar ou escrever dados em arquivos é também conhecido como persistir os dados, ou realizar a persistência dos dados. Note que aqui estamos falando de escrever ou gravar manualmente em um arquivo. Em outras seções do site nós abordamos a gravação e leitura de dados a partir de um banco de dados, como MongoDB e MySQL. A primeira função que veremos é writeFileSync(), que permite a escrita ou gravação em um arquivo de forma síncrona, ou seja, ela bloqueia o restante do código até que a gravação esteja completa. Veja um exemplo no qual gravamos um pequeno trecho de texto em um arquivo chamado notas.txt: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // precisamos importar o módulo File System var fs = require('fs'); // nome e caminho do arquivo no qual gravaremos var arquivo = 'C:\\estudos_nodejs\\notas.txt'; // conteúdo a ser escrito no arquivo var conteudo = "Gosto muito de desenvolver aplicações Node.js"; // agora vamos escrever no arquivo fs.writeFileSync(arquivo, conteudo); // avisamos sobre o sucesso da operação console.log("A escrita foi realizada com sucesso."); Execute este código e, se tudo correr bem, você verá a mensagem "A escrita foi realizada com sucesso." ser exibida na janela de terminal. Importante: Se o arquivo não existir, a função fs.writeFileSync() o criará. Se o arquivo já existir e possuir algum conteúdo, seu conteúdo será sobresposto. O mesmo vale para a função assíncrona fs.writeFile(). Vamos ver agora um exemplo usando a função fs.writeFile(). Esta função é assíncrona. Por isso, deveremos fornecer a ela uma função de callback. Veja o código para o exemplo: ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Paga um cafezinho pra mim :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- // precisamos importar o módulo File System var fs = require('fs'); // nome e caminho do arquivo no qual gravaremos var arquivo = 'C:\\estudos_nodejs\\notas.txt'; // conteúdo a ser escrito no arquivo var conteudo = "Gosto muito de desenvolver aplicações Express"; fs.writeFile(arquivo, conteudo, (erro) => { if(erro){ throw "Ops, aconteceu um erro aqui: " + erro; } else{ console.log("O conteúdo foi gravado com sucesso."); } }); Fique atento ao fato de que funções assíncronas são executadas em paralelo com o restante do código de sua aplicação. Dessa forma, tenha muito cuidado para que outra parte do código não esteja realizando a leitura do conteúdo do arquivo enquanto a função writeFile() estiver efetuado a gravação. Em códigos com funções assíncronas nunca sabemos ao certo em qual ordem elas serão executadas. |
![]() |
Veja mais Dicas e truques de Node.js |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |