Desafio: Operações do Sistema de Arquivos
Deslize para mostrar o menu
Objetivo
Domínio da automação de gerenciamento de tarefas. O objetivo é desenvolver uma aplicação que reúna tarefas de uma fonte, extraia seu conteúdo e as integre em outro arquivo. A solução também deve lidar com possíveis erros durante o processo.
Tarefa
Imagine que você possui dois arquivos:
tasks.txt, que contém uma lista de tarefas existentes;new-task.txt, que contém uma única tarefa que deve ser adicionada aotasks.txt.
Siga estes passos para concluir o desafio:
- Prepare seu ambiente de trabalho
- Crie uma nova pasta em sua máquina;
- Abra-a no editor de código de sua preferência.
- Crie o
tasks.txt
-
Crie um arquivo chamado
tasks.txt; -
Adicione as seguintes tarefas a ele ou faça o download do arquivo preparado:
Conteúdo:
Teach a goldfish to play chess;Build a sandcastle in your living room;Create a song 🎶 using only sounds from nature.
-
Crie o
new-task.txt- Crie um arquivo chamado
new-task.txt;
- Crie um arquivo chamado
-
Adicione a seguinte tarefa a ele ou faça o download do arquivo preparado:
Conteúdo:
Invent a new dance move and perform it in public.
- Crie o
app.js
- Importe o módulo
fspara trabalhar com arquivos;- Utilize
readFile()para ler o conteúdo denew-task.txt; - Trate operações bem-sucedidas e falhas utilizando
.then()e.catch();
- Utilize
- Dentro do bloco
.then(), utilizeappendFile()para adicionar o conteúdo aotasks.txt; - Adicione um caractere de nova linha (
\n) após a tarefa inserida.
- Execute a aplicação
- Salve o
app.js; - Abra o terminal e execute:
node app
Se preferir usar o editor de código abaixo, lembre-se de que ele não reconhece seus arquivos e não exibirá seu progresso.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importar o módulo
fspara trabalhar com arquivos. - Utilizar
fs.readFile("new-task.txt", "utf-8")para ler o conteúdo do arquivonew-task.txt. - Encadear um
.then()para tratar a leitura bem-sucedida do conteúdo do arquivo. - No bloco
.then(), fornecer uma função de callback que recebe o conteúdo como argumento. - Dentro do bloco
.then()da promisereadFile, retornar o resultado de usarfs.appendFilepara adicionar conteúdo ao arquivotasks.txt. - Lembrar de incluir um caractere de nova linha
\npara separar o conteúdo adicionado. - Após o bloco
.then()da operaçãoappendFile, encadear um bloco.catch()para tratar possíveis erros em toda a cadeia. - No bloco
.catch(), fornecer uma função de callback que recebe um parâmetro de erro. - Dentro do bloco
.catch(), registrar uma mensagem de erro junto com o erro recebido. - Executar o script usando 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);
});
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo