Node.js “fs (sistema de arquivos)” O módulo executa operações de E/S no sistema de arquivos com a ajuda de seus métodos síncronos e assíncronos. Esses métodos incluem “writeFile()”, “writeFileSync()”, “readFile()”, “readFileSync()” e muito mais. Por exemplo, o “fs.writeArquivo()” método é utilizado para escrever um arquivo de forma síncrona. O “fs.writeFile()” é um método assíncrono que grava dados em um arquivo. Sua natureza assíncrona não interrompe a execução de todas as outras operações durante a execução da tarefa especificada, que é a gravação de um arquivo.
Este guia irá ilustrar como escrever arquivos usando “fs.writeFile()” em Node.js.
Pré-requisitos:
Antes de prosseguir para a implementação prática, observe a estrutura de pastas do projeto Node.js:
Observação: O código JavaScript para escrever um arquivo usando o método “fs.writeFile()” será escrito dentro do arquivo “app.js” do projeto Node.js.
Como escrever arquivos usando fs.writeFile() em Node.js?
Para escrever um arquivo de forma assíncrona sem bloquear a execução do programa, aplique o “fs.writeArquivo()” método com a ajuda de sua sintaxe básica escrita abaixo:
fs. escrever arquivo ( arquivo , dados , opções , ligar de volta )A sintaxe acima mostra que o método “fs.writeFile()” funciona nos seguintes parâmetros:
- arquivo: Ele especifica o caminho exato do arquivo de amostra com seu nome que precisa ser escrito. Deve estar entre aspas duplas/simples.
- dados: Especifica o conteúdo que será escrito no arquivo criado.
- opções: Denota os parâmetros opcionais indicados abaixo:
- codificação: Ele contém o tipo de codificação, ou seja, “utf8”, caso contrário, seu valor padrão é “nulo”.
- modo: Refere-se a um número inteiro que representa o modo do arquivo. Seu valor padrão é “0666”
- bandeira: Indica a operação realizada no arquivo especificado. Seu valor padrão é “w(write)”.
- ligar de volta: Ele define uma função de retorno de chamada que é executada após gravar o conteúdo em um arquivo específico. Suporta apenas um parâmetro “err” (se ocorrer um erro).
Agora use o método “fs.writeFile()” definido acima praticamente por meio dos exemplos fornecidos.
Exemplo 1: Gravar arquivos usando valores “padrão” do método “fs.writeFile()”
Este exemplo utiliza o método “fs.writeFile()” para escrever um arquivo de forma assíncrona usando seus valores padrão:
const dados_arquivo = 'Bem-vindo ao Linuxhint!'
fs. escrever arquivo ( 'meuArquivo.txt' , dados_arquivo , ( errar ) => {
se ( errar )
console. erro ( errar ) ;
outro {
console. registro ( 'Arquivo gravado com sucesso \n ' ) ;
console. registro ( 'O conteúdo do arquivo é o seguinte:' ) ;
console. registro ( fs. lerFileSync ( 'meuArquivo.txt' , 'utf8' ) ) ;
}
} ) ;
Nas linhas de código acima:
- Primeiro, a variável “fs” importa o módulo File System (fs) com a ajuda do “exigir ()” método.
- A seguir, o 'contente' variável especifica os dados do arquivo que o usuário deseja inserir no arquivo.
- Depois disso, o “escreverArquivo()” método cria um arquivo “meuArquivo.txt” e escreve o com os “dados” especificados nele.
- Se um erro for gerado então o “console.error()” O método especificado na instrução “if” exibirá uma mensagem de erro (se ocorrer).
- Caso contrário, a instrução “else” será executada para exibir as mensagens de verificação e o conteúdo do arquivo criado usando o comando “fs.readFileSync()” método
Saída
Execute o seguinte comando para iniciar o arquivo “app.js”:
Pode-se ver que o terminal mostra o conteúdo do arquivo especificado (myFile.txt) que foi gravado com sucesso no projeto Node.js atual:
Exemplo 2: Gravar arquivos usando diferentes “opções” do método “fs.writeFileSync()”
Este exemplo usa as múltiplas opções do método “fs.writeFile()” para gravar os dados no arquivo especificado:
deixe file_data = 'Bem-vindo ao Linuxhint!' ;
fs. escrever arquivo ( 'meuArquivo.txt' , dados_arquivo ,
{
codificação : 'utf8' ,
bandeira : 'Em' ,
modo : 0o666
} ,
( errar ) => {
se ( errar )
console. registro ( errar ) ;
outro {
console. registro ( 'Arquivo gravado com sucesso \n ' ) ;
console. registro ( 'O conteúdo do arquivo é o seguinte:' ) ;
console. registro ( fs. lerFileSync ( 'meuArquivo.txt' , 'utf8' ) ) ;
}
} ) ;
O trecho de código acima:
- Aplicar o “fs.writeArquivo()” método que grava os dados especificados no arquivo “myFile.txt” utilizando o 'Em' bandeira.
- Depois disso, o 'utf8' format retorna o conteúdo do arquivo especificado em formato de string e o “0o666” o modo de arquivo especifica suas permissões, ou seja, legível e gravável.
- Em caso de qualquer erro, o “se-outro” instrução será executada.
Saída
Inicie o arquivo “app.js” executando o comando fornecido:
O terminal mostra o conteúdo do arquivo especificado (myFile.txt) que confirma que “myFile.txt” foi criado com sucesso:
Trata-se de escrever arquivos usando o método “fs.writeFile()” em Node.js.
Conclusão
Para escrever um arquivo de forma assíncrona em Node.js, use o pré-definido “fs.writeArquivo()” método. Este método depende de sua sintaxe generalizada para realizar esta tarefa utilizando os quatro parâmetros: “arquivo”, “dados”, “opções” e uma função de “retorno de chamada”. Este método cria o arquivo em um local específico se ele não estiver presente. Esta postagem demonstrou brevemente o “fs.writeArquivo()” método para gravar arquivos em Node.js.