Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Trabalhando com o Sistema de Arquivos no Node.js | Construindo Aplicações de Console com Node.js
Desenvolvimento Backend com Node.js e Express.js

bookTrabalhando 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?

question mark

O módulo fs permite interagir programaticamente com arquivos.

Select the correct answer

question mark

Qual método utilizamos para ler o conteúdo de um arquivo?

Select the correct answer

question mark

Como fs.appendFile difere de fs.writeFile?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.56

bookTrabalhando 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?

question mark

O módulo fs permite interagir programaticamente com arquivos.

Select the correct answer

question mark

Qual método utilizamos para ler o conteúdo de um arquivo?

Select the correct answer

question mark

Como fs.appendFile difere de fs.writeFile?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
some-alt