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

bookDesafio: Operações do Sistema de Arquivos

Objetivo

Dominar a automação da gestão de tarefas! Sua missão é desenvolver uma aplicação que reúna tarefas de uma fonte, extraia seu conteúdo e as integre em outro arquivo. Sua solução também deve lidar com quaisquer erros potenciais durante o processo.

Tarefa

Imagine que você possui dois arquivos: tasks.txt, que contém uma lista de tarefas existentes, e new-task.txt, que inclui uma única tarefa que deve ser adicionada ao arquivo tasks.txt.

Siga estes passos para concluir o desafio e criar a solução em sua máquina:

  1. Prepare seu ambiente: Comece criando uma nova pasta em sua máquina e abra-a usando seu editor de código favorito.
  2. Configuração das tarefas: Crie o arquivo tasks.txt e preencha-o com as seguintes tarefas ou utilize o arquivo fornecido tasks.txt:
    • Teach a goldfish 🐠 to play chess ♟️;
    • Build a sandcastle 🏰 in your living room 🛋️;
    • Create a song 🎶 using only sounds from nature 🌿.
  3. Defina a nova tarefa: Crie o arquivo new-task.txt e insira a seguinte tarefa ou utilize o arquivo fornecido new-task.txt:
    • Invent a new dance move and perform it in public. 💃🕺.
  4. Script principal: Crie o arquivo app.js, que será o núcleo da sua aplicação.
    • Importe o módulo fs: Comece importando o módulo fs para permitir o manuseio de arquivos em sua aplicação;
    • Leia o conteúdo: Utilize a função readFile do módulo fs para extrair o conteúdo do arquivo new-task.txt. Certifique-se de implementar .then() e .catch() para gerenciar tanto os cenários de sucesso quanto de erro;
    • Anexe o conteúdo: Dentro do bloco .then(), após a leitura bem-sucedida do conteúdo, utilize a função appendFile para adicionar o conteúdo ao arquivo tasks.txt. Não se esqueça de adicionar um caractere de nova linha (\n) após o conteúdo.
  5. Execute o processo: Salve seu arquivo app.js e execute-o usando o Node.js no terminal com o comando node app.

Se preferir utilizar o editor de código abaixo, lembre-se de que ele não reconhece seus arquivos e não exibirá seu progresso.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
copy
  1. Importação do módulo fs para manipulação de arquivos.
  2. Utilização de fs.readFile("new-task.txt", "utf-8") para ler o conteúdo do arquivo new-task.txt.
  3. Encadeamento de .then() para tratar a leitura bem-sucedida do conteúdo do arquivo.
  4. No bloco .then(), fornecimento de uma função de callback que recebe o conteúdo como argumento.
  5. Dentro do bloco .then() da promessa readFile, retorno do resultado da utilização de fs.appendFile para adicionar conteúdo ao arquivo tasks.txt.
  6. Inclusão de um caractere de nova linha \n para separar o conteúdo anexado.
  7. Após o bloco .then() da operação appendFile, encadeamento de um bloco .catch() para tratar possíveis erros em toda a cadeia.
  8. No bloco .catch(), fornecimento de uma função de callback que recebe um parâmetro de erro.
  9. Dentro do bloco .catch(), registro de uma mensagem de erro juntamente com o erro recebido.
  10. Execução do script utilizando Node.js digitando node app.
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 4

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Suggested prompts:

Can you explain how the `.then()` and `.catch()` methods work in this context?

What should I do if the `tasks.txt` or `new-task.txt` file does not exist?

How can I verify that the new task was successfully added to `tasks.txt`?

Awesome!

Completion rate improved to 2.56

bookDesafio: Operações do Sistema de Arquivos

Deslize para mostrar o menu

Objetivo

Dominar a automação da gestão de tarefas! Sua missão é desenvolver uma aplicação que reúna tarefas de uma fonte, extraia seu conteúdo e as integre em outro arquivo. Sua solução também deve lidar com quaisquer erros potenciais durante o processo.

Tarefa

Imagine que você possui dois arquivos: tasks.txt, que contém uma lista de tarefas existentes, e new-task.txt, que inclui uma única tarefa que deve ser adicionada ao arquivo tasks.txt.

Siga estes passos para concluir o desafio e criar a solução em sua máquina:

  1. Prepare seu ambiente: Comece criando uma nova pasta em sua máquina e abra-a usando seu editor de código favorito.
  2. Configuração das tarefas: Crie o arquivo tasks.txt e preencha-o com as seguintes tarefas ou utilize o arquivo fornecido tasks.txt:
    • Teach a goldfish 🐠 to play chess ♟️;
    • Build a sandcastle 🏰 in your living room 🛋️;
    • Create a song 🎶 using only sounds from nature 🌿.
  3. Defina a nova tarefa: Crie o arquivo new-task.txt e insira a seguinte tarefa ou utilize o arquivo fornecido new-task.txt:
    • Invent a new dance move and perform it in public. 💃🕺.
  4. Script principal: Crie o arquivo app.js, que será o núcleo da sua aplicação.
    • Importe o módulo fs: Comece importando o módulo fs para permitir o manuseio de arquivos em sua aplicação;
    • Leia o conteúdo: Utilize a função readFile do módulo fs para extrair o conteúdo do arquivo new-task.txt. Certifique-se de implementar .then() e .catch() para gerenciar tanto os cenários de sucesso quanto de erro;
    • Anexe o conteúdo: Dentro do bloco .then(), após a leitura bem-sucedida do conteúdo, utilize a função appendFile para adicionar o conteúdo ao arquivo tasks.txt. Não se esqueça de adicionar um caractere de nova linha (\n) após o conteúdo.
  5. Execute o processo: Salve seu arquivo app.js e execute-o usando o Node.js no terminal com o comando node app.

Se preferir utilizar o editor de código abaixo, lembre-se de que ele não reconhece seus arquivos e não exibirá seu progresso.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
copy
  1. Importação do módulo fs para manipulação de arquivos.
  2. Utilização de fs.readFile("new-task.txt", "utf-8") para ler o conteúdo do arquivo new-task.txt.
  3. Encadeamento de .then() para tratar a leitura bem-sucedida do conteúdo do arquivo.
  4. No bloco .then(), fornecimento de uma função de callback que recebe o conteúdo como argumento.
  5. Dentro do bloco .then() da promessa readFile, retorno do resultado da utilização de fs.appendFile para adicionar conteúdo ao arquivo tasks.txt.
  6. Inclusão de um caractere de nova linha \n para separar o conteúdo anexado.
  7. Após o bloco .then() da operação appendFile, encadeamento de um bloco .catch() para tratar possíveis erros em toda a cadeia.
  8. No bloco .catch(), fornecimento de uma função de callback que recebe um parâmetro de erro.
  9. Dentro do bloco .catch(), registro de uma mensagem de erro juntamente com o erro recebido.
  10. Execução do script utilizando Node.js digitando node app.
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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