Trabalhando com o Sistema de Arquivos no Node.js
O módulo FileSystem (fs) é um módulo central do Node.js, oferecendo recursos avançados para interagir com arquivos de forma programática. Este módulo é útil em diversas tarefas, incluindo gerenciamento de configurações, organização de dados e leitura e escrita de conteúdo de arquivos.
📖 Leitura de Arquivos com fs.readFile
O método fs.readFile retorna uma promessa que é resolvida com o conteúdo do arquivo. Ele permite a leitura assíncrona de arquivos, sendo adequado para leitura de arquivos de texto e binários.
fs.readFile(path, options)
path- o caminho do arquivo a ser lido;options- um objeto opcional especificando opções como a codificação.
Imagine construir uma plataforma de blog dinâmica. Aqui, o método fs.readFile entra em cena, recuperando rapidamente o conteúdo de postagens do blog a partir de um arquivo.
Exemplo de Código: Lendo Conteúdo
const fs = require('fs').promises;
fs.readFile('blog-post.txt', 'utf-8')
.then(content => {
console.log('Current content:', content);
})
.catch(err => {
console.error('Error reading file:', err);
});
Explicação Passo a Passo
🖋️ Escrita de Arquivos com fs.writeFile
O método fs.writeFile retorna uma promessa que é resolvida quando o arquivo foi escrito. Ele é utilizado para gravar dados de forma assíncrona em um arquivo, que pode ser novo ou já existente. Oferece opções para especificar os dados, codificação e permissões do arquivo.
fs.writeFile(file, data, options)
file- o caminho do arquivo a ser escrito;data- os dados a serem gravados, podendo ser uma string ou um buffer;options- um objeto opcional especificando opções como codificação e modo do arquivo.
Considere a necessidade de salvar um novo usuário no arquivo user-db.json. Aqui, o método fs.writeFile garante que nossos dados sejam registrados corretamente.
Exemplo de Código: Gravando Dados de Usuário
const fs = require("fs").promises;
const newUser = {
id: 1,
username: "Nero",
email: "arman@example.com",
};
const fileName = "user-db.json";
fs.writeFile(fileName, JSON.stringify(newUser), "utf-8")
.then(() => {
console.log("User information saved successfully.");
})
.catch((err) => {
console.error("Error writing file:", err);
});
Explicação Passo a Passo
📄 Complementando com fs.appendFile
O método fs.appendFile retorna uma promessa que é resolvida quando os dados foram acrescentados ao arquivo. Ele é utilizado para adicionar dados de forma assíncrona a um arquivo existente, preservando o conteúdo anterior.
fs.appendFile(file, data, options)
file- o caminho do arquivo ao qual os dados serão acrescentados;data- os dados a serem acrescentados, podendo ser uma string ou um buffer;options- um objeto opcional especificando opções como codificação e modo do arquivo.
Imagine um aplicativo de chat registrando conversas. À medida que novas mensagens chegam, o método fs.appendFile adiciona essas mensagens ao registro do chat, preservando as interações anteriores.
Exemplo de Código: Acrescentando Mensagens de Chat
const fs = require("fs").promises;
const newMessage = "User2: Hello, how are you?";
fs.appendFile("chat.txt", newMessage + "\n")
.then(() => {
console.log("Message added to chat log.");
})
.catch((err) => {
console.error("Error appending message:", err);
});
Explicação Passo a Passo
Nota
fs.writeFileé utilizado para substituir completamente o conteúdo de um arquivo ou criar um novo arquivo;fs.appendFileé utilizado para adicionar novos dados ao final de um arquivo existente sem sobrescrever o que já está lá.
🧐 Hora do Quiz
Vamos avaliar seu entendimento sobre os conceitos do módulo FileSystem (fs):
1. O módulo fs permite interagir programaticamente com arquivos.
2. Qual método utilizamos para ler o conteúdo de um arquivo?
3. Como fs.appendFile difere de fs.writeFile?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 2.56
Trabalhando com o Sistema de Arquivos no Node.js
Deslize para mostrar o menu
O módulo FileSystem (fs) é um módulo central do Node.js, oferecendo recursos avançados para interagir com arquivos de forma programática. Este módulo é útil em diversas tarefas, incluindo gerenciamento de configurações, organização de dados e leitura e escrita de conteúdo de arquivos.
📖 Leitura de Arquivos com fs.readFile
O método fs.readFile retorna uma promessa que é resolvida com o conteúdo do arquivo. Ele permite a leitura assíncrona de arquivos, sendo adequado para leitura de arquivos de texto e binários.
fs.readFile(path, options)
path- o caminho do arquivo a ser lido;options- um objeto opcional especificando opções como a codificação.
Imagine construir uma plataforma de blog dinâmica. Aqui, o método fs.readFile entra em cena, recuperando rapidamente o conteúdo de postagens do blog a partir de um arquivo.
Exemplo de Código: Lendo Conteúdo
const fs = require('fs').promises;
fs.readFile('blog-post.txt', 'utf-8')
.then(content => {
console.log('Current content:', content);
})
.catch(err => {
console.error('Error reading file:', err);
});
Explicação Passo a Passo
🖋️ Escrita de Arquivos com fs.writeFile
O método fs.writeFile retorna uma promessa que é resolvida quando o arquivo foi escrito. Ele é utilizado para gravar dados de forma assíncrona em um arquivo, que pode ser novo ou já existente. Oferece opções para especificar os dados, codificação e permissões do arquivo.
fs.writeFile(file, data, options)
file- o caminho do arquivo a ser escrito;data- os dados a serem gravados, podendo ser uma string ou um buffer;options- um objeto opcional especificando opções como codificação e modo do arquivo.
Considere a necessidade de salvar um novo usuário no arquivo user-db.json. Aqui, o método fs.writeFile garante que nossos dados sejam registrados corretamente.
Exemplo de Código: Gravando Dados de Usuário
const fs = require("fs").promises;
const newUser = {
id: 1,
username: "Nero",
email: "arman@example.com",
};
const fileName = "user-db.json";
fs.writeFile(fileName, JSON.stringify(newUser), "utf-8")
.then(() => {
console.log("User information saved successfully.");
})
.catch((err) => {
console.error("Error writing file:", err);
});
Explicação Passo a Passo
📄 Complementando com fs.appendFile
O método fs.appendFile retorna uma promessa que é resolvida quando os dados foram acrescentados ao arquivo. Ele é utilizado para adicionar dados de forma assíncrona a um arquivo existente, preservando o conteúdo anterior.
fs.appendFile(file, data, options)
file- o caminho do arquivo ao qual os dados serão acrescentados;data- os dados a serem acrescentados, podendo ser uma string ou um buffer;options- um objeto opcional especificando opções como codificação e modo do arquivo.
Imagine um aplicativo de chat registrando conversas. À medida que novas mensagens chegam, o método fs.appendFile adiciona essas mensagens ao registro do chat, preservando as interações anteriores.
Exemplo de Código: Acrescentando Mensagens de Chat
const fs = require("fs").promises;
const newMessage = "User2: Hello, how are you?";
fs.appendFile("chat.txt", newMessage + "\n")
.then(() => {
console.log("Message added to chat log.");
})
.catch((err) => {
console.error("Error appending message:", err);
});
Explicação Passo a Passo
Nota
fs.writeFileé utilizado para substituir completamente o conteúdo de um arquivo ou criar um novo arquivo;fs.appendFileé utilizado para adicionar novos dados ao final de um arquivo existente sem sobrescrever o que já está lá.
🧐 Hora do Quiz
Vamos avaliar seu entendimento sobre os conceitos do módulo FileSystem (fs):
1. O módulo fs permite interagir programaticamente com arquivos.
2. Qual método utilizamos para ler o conteúdo de um arquivo?
3. Como fs.appendFile difere de fs.writeFile?
Obrigado pelo seu feedback!