Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Tiedostojärjestelmäoperaatiot | Konsolisovellusten Rakentaminen Node.js:llä
Backend-kehitys Node.js:llä ja Express.js:llä

Haaste: Tiedostojärjestelmäoperaatiot

Pyyhkäise näyttääksesi valikon

Tavoite

Tehtävienhallinnan automaation hallinta! Tehtävänäsi on kehittää sovellus, joka kerää tehtäviä yhdestä lähteestä, poimii niiden sisällön ja liittää ne toiseen tiedostoon. Ratkaisusi tulee myös käsitellä mahdolliset virheet prosessin aikana.

Tehtävä

Kuvittele, että sinulla on kaksi tiedostoa:

  • tasks.txt, joka sisältää listan olemassa olevista tehtävistä;
  • new-task.txt, joka sisältää yhden tehtävän, joka tulee lisätä tiedostoon tasks.txt.

Noudata näitä ohjeita haasteen suorittamiseksi:

  1. Valmistele työtila
  • Luo uusi kansio koneellesi;
  • Avaa se haluamassasi koodieditorissa.
  1. Luo tasks.txt
  • Luo tiedosto nimeltä tasks.txt;

  • Lisää siihen seuraavat tehtävät tai lataa valmis tiedosto:

    tasks.txt

Sisältö:

  • Teach a goldfish to play chess;
  • Build a sandcastle in your living room;
  • Create a song 🎶 using only sounds from nature.
  1. Luo new-task.txt

    • Luo tiedosto nimeltä new-task.txt;
  • Lisää siihen seuraava tehtävä tai lataa valmis tiedosto:

    new-task.txt

Sisältö:

  • Invent a new dance move and perform it in public.
  1. Luo app.js

    • Tuo fs-moduuli tiedostojen käsittelyä varten;
    • Käytä readFile()-funktiota lukeaksesi new-task.txt-tiedoston sisällön;
  • Käsittele onnistuneet ja epäonnistuneet operaatiot käyttämällä .then() ja .catch();
    • .then()-lohkon sisällä käytä appendFile()-funktiota lisätäksesi sisällön tiedostoon tasks.txt;
  • Lisää rivinvaihtomerkki (\n) lisätyn tehtävän jälkeen.
  1. Suorita sovellus
  • Tallenna app.js;
  • Avaa pääte ja suorita:
node app

Jos haluat käyttää alla olevaa koodieditoria, huomioithan, että se ei tunnista tiedostojasi eikä näytä edistymistäsi.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
Vihje
expand arrow
  1. Tuo fs-moduuli tiedostojen käsittelyä varten.
  2. Käytä fs.readFile("new-task.txt", "utf-8") lukeaksesi sisällön tiedostosta new-task.txt.
  3. Ketjuta .then() käsittelemään tiedoston sisällön onnistunutta lukemista.
  4. Anna .then()-lohkoon palautefunktio, joka vastaanottaa sisällön argumenttina.
  5. Palauta .then()-lupauksen readFile-lohkossa fs.appendFile-kutsu, jolla lisäät sisältöä tiedostoon tasks.txt.
  6. Muista lisätä rivinvaihtomerkki \n erottelemaan lisätty sisältö.
  7. Ketjuta .then()-operaation appendFile-lohkon jälkeen .catch()-lohko käsittelemään mahdolliset virheet koko ketjussa.
  8. Anna .catch()-lohkoon palautefunktio, joka vastaanottaa virheparametrin.
  9. Kirjaa virheilmoitus ja vastaanotettu virhe konsoliin .catch()-lohkossa.
  10. Suorita skripti Node.js:llä komennolla node app.
Ratkaisu
expand arrow
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);
  });
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Osio 2. Luku 4
some-alt