Desafio: 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:
- Prepare seu ambiente: Comece criando uma nova pasta em sua máquina e abra-a usando seu editor de código favorito.
- Configuração das tarefas: Crie o arquivo
tasks.txte 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 🌿.
- Defina a nova tarefa: Crie o arquivo
new-task.txte insira a seguinte tarefa ou utilize o arquivo fornecido new-task.txt:Invent a new dance move and perform it in public. 💃🕺.
- 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
fspara permitir o manuseio de arquivos em sua aplicação; - Leia o conteúdo: Utilize a função
readFiledo módulofspara extrair o conteúdo do arquivonew-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çãoappendFilepara adicionar o conteúdo ao arquivotasks.txt. Não se esqueça de adicionar um caractere de nova linha (\n) após o conteúdo.
- Importe o módulo fs: Comece importando o módulo
- Execute o processo: Salve seu arquivo
app.jse execute-o usando o Node.js no terminal com o comandonode 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.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importação do módulo
fspara manipulação de arquivos. - Utilização de
fs.readFile("new-task.txt", "utf-8")para ler o conteúdo do arquivonew-task.txt. - Encadeamento de
.then()para tratar a leitura bem-sucedida do conteúdo do arquivo. - No bloco
.then(), fornecimento de uma função de callback que recebe o conteúdo como argumento. - Dentro do bloco
.then()da promessareadFile, retorno do resultado da utilização defs.appendFilepara adicionar conteúdo ao arquivotasks.txt. - Inclusão de um caractere de nova linha
\npara separar o conteúdo anexado. - Após o bloco
.then()da operaçãoappendFile, encadeamento de um bloco.catch()para tratar possíveis erros em toda a cadeia. - No bloco
.catch(), fornecimento de uma função de callback que recebe um parâmetro de erro. - Dentro do bloco
.catch(), registro de uma mensagem de erro juntamente com o erro recebido. - 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);
});
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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
Desafio: 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:
- Prepare seu ambiente: Comece criando uma nova pasta em sua máquina e abra-a usando seu editor de código favorito.
- Configuração das tarefas: Crie o arquivo
tasks.txte 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 🌿.
- Defina a nova tarefa: Crie o arquivo
new-task.txte insira a seguinte tarefa ou utilize o arquivo fornecido new-task.txt:Invent a new dance move and perform it in public. 💃🕺.
- 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
fspara permitir o manuseio de arquivos em sua aplicação; - Leia o conteúdo: Utilize a função
readFiledo módulofspara extrair o conteúdo do arquivonew-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çãoappendFilepara adicionar o conteúdo ao arquivotasks.txt. Não se esqueça de adicionar um caractere de nova linha (\n) após o conteúdo.
- Importe o módulo fs: Comece importando o módulo
- Execute o processo: Salve seu arquivo
app.jse execute-o usando o Node.js no terminal com o comandonode 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.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importação do módulo
fspara manipulação de arquivos. - Utilização de
fs.readFile("new-task.txt", "utf-8")para ler o conteúdo do arquivonew-task.txt. - Encadeamento de
.then()para tratar a leitura bem-sucedida do conteúdo do arquivo. - No bloco
.then(), fornecimento de uma função de callback que recebe o conteúdo como argumento. - Dentro do bloco
.then()da promessareadFile, retorno do resultado da utilização defs.appendFilepara adicionar conteúdo ao arquivotasks.txt. - Inclusão de um caractere de nova linha
\npara separar o conteúdo anexado. - Após o bloco
.then()da operaçãoappendFile, encadeamento de um bloco.catch()para tratar possíveis erros em toda a cadeia. - No bloco
.catch(), fornecimento de uma função de callback que recebe um parâmetro de erro. - Dentro do bloco
.catch(), registro de uma mensagem de erro juntamente com o erro recebido. - 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);
});
Obrigado pelo seu feedback!