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

bookTyöskentely Node.js:n Tiedostojärjestelmän Kanssa

FileSystem-moduuli (fs) on Node.js:n ydinmoduuli, joka tarjoaa tehokkaita ominaisuuksia tiedostojen käsittelyyn ohjelmallisesti. Tämä moduuli on hyödyllinen erilaisissa tehtävissä, kuten konfiguraatioiden hallinnassa, datan järjestämisessä sekä tiedostosisällön lukemisessa ja kirjoittamisessa.

📖 Tiedoston lukeminen fs.readFile-metodilla

fs.readFile-metodi palauttaa lupauksen, joka täyttyy tiedoston sisällöllä. Se mahdollistaa asynkronisen tiedoston lukemisen, mikä sopii sekä teksti- että binääritiedostojen käsittelyyn.

fs.readFile(path, options)
  • path – luettavan tiedoston polku;
  • options – valinnainen objekti, jolla määritellään esimerkiksi merkistökoodaus.

Kuvitellaan dynaamisen blogialustan rakentamista. Tässä fs.readFile-metodi astuu esiin ja hakee nopeasti blogikirjoituksen sisällön tiedostosta.

Koodiesimerkki: Sisällön lukeminen

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);
  });

Vaiheittainen selitys

🖋️ Tiedoston kirjoittaminen fs.writeFile-metodilla

fs.writeFile-metodi palauttaa lupauksen, joka täyttyy, kun tiedosto on kirjoitettu. Sitä käytetään tietojen asynkroniseen kirjoittamiseen tiedostoon, joka voi olla uusi tai olemassa oleva. Metodi mahdollistaa tietojen, koodauksen ja tiedoston käyttöoikeuksien määrittämisen.

fs.writeFile(file, data, options)
  • file – tiedostopolku, johon kirjoitetaan;
  • data – kirjoitettava data, joka voi olla merkkijono tai buffer;
  • options – valinnainen objekti, jolla määritellään esimerkiksi koodaus ja tiedostotila.

Kuvitellaan, että täytyy tallentaa uusi käyttäjä tiedostoon user-db.json. Tässä fs.writeFile-metodi varmistaa, että tietomme tallentuvat oikein.

Koodiesimerkki: Käyttäjätietojen kirjoittaminen

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);
  });

Vaiheittainen selitys

📄 Laajentaminen fs.appendFile-metodilla

fs.appendFile-metodi palauttaa lupauksen, joka täyttyy, kun data on lisätty tiedostoon. Sitä käytetään tietojen asynkroniseen lisäämiseen olemassa olevaan tiedostoon, jolloin aiempi sisältö säilyy.

fs.appendFile(file, data, options)
  • file – tiedostopolku, johon data lisätään;
  • data – lisättävä data, joka voi olla merkkijono tai buffer;
  • options – valinnainen objekti, jolla määritellään esimerkiksi koodaus ja tiedostotila.

Kuvittele vilkas keskustelusovellus, joka tallentaa viestit. Kun uusia viestejä tulee, fs.appendFile-metodi lisää ne keskustelulokiin säilyttäen aiemmat viestit.

Koodiesimerkki: Keskusteluviestien lisääminen

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);
  });

Vaiheittainen selitys

Huomio

  • fs.writeFile korvaa tiedoston sisällön kokonaan tai luo uuden tiedoston;
  • fs.appendFile lisää uutta dataa olemassa olevan tiedoston loppuun korvaamatta aiempaa sisältöä.

🧐 Viskikysymys

Arvioi FileSystem (fs) -moduulin käsitteiden ymmärrystäsi:

1. fs-moduuli mahdollistaa tiedostojen ohjelmallisen käsittelyn.

2. Mitä metodia käytetään tiedoston sisällön lukemiseen?

3. Miten fs.appendFile eroaa fs.writeFile-metodista?

question mark

fs-moduuli mahdollistaa tiedostojen ohjelmallisen käsittelyn.

Select the correct answer

question mark

Mitä metodia käytetään tiedoston sisällön lukemiseen?

Select the correct answer

question mark

Miten fs.appendFile eroaa fs.writeFile-metodista?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Awesome!

Completion rate improved to 2.56

bookTyöskentely Node.js:n Tiedostojärjestelmän Kanssa

Pyyhkäise näyttääksesi valikon

FileSystem-moduuli (fs) on Node.js:n ydinmoduuli, joka tarjoaa tehokkaita ominaisuuksia tiedostojen käsittelyyn ohjelmallisesti. Tämä moduuli on hyödyllinen erilaisissa tehtävissä, kuten konfiguraatioiden hallinnassa, datan järjestämisessä sekä tiedostosisällön lukemisessa ja kirjoittamisessa.

📖 Tiedoston lukeminen fs.readFile-metodilla

fs.readFile-metodi palauttaa lupauksen, joka täyttyy tiedoston sisällöllä. Se mahdollistaa asynkronisen tiedoston lukemisen, mikä sopii sekä teksti- että binääritiedostojen käsittelyyn.

fs.readFile(path, options)
  • path – luettavan tiedoston polku;
  • options – valinnainen objekti, jolla määritellään esimerkiksi merkistökoodaus.

Kuvitellaan dynaamisen blogialustan rakentamista. Tässä fs.readFile-metodi astuu esiin ja hakee nopeasti blogikirjoituksen sisällön tiedostosta.

Koodiesimerkki: Sisällön lukeminen

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);
  });

Vaiheittainen selitys

🖋️ Tiedoston kirjoittaminen fs.writeFile-metodilla

fs.writeFile-metodi palauttaa lupauksen, joka täyttyy, kun tiedosto on kirjoitettu. Sitä käytetään tietojen asynkroniseen kirjoittamiseen tiedostoon, joka voi olla uusi tai olemassa oleva. Metodi mahdollistaa tietojen, koodauksen ja tiedoston käyttöoikeuksien määrittämisen.

fs.writeFile(file, data, options)
  • file – tiedostopolku, johon kirjoitetaan;
  • data – kirjoitettava data, joka voi olla merkkijono tai buffer;
  • options – valinnainen objekti, jolla määritellään esimerkiksi koodaus ja tiedostotila.

Kuvitellaan, että täytyy tallentaa uusi käyttäjä tiedostoon user-db.json. Tässä fs.writeFile-metodi varmistaa, että tietomme tallentuvat oikein.

Koodiesimerkki: Käyttäjätietojen kirjoittaminen

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);
  });

Vaiheittainen selitys

📄 Laajentaminen fs.appendFile-metodilla

fs.appendFile-metodi palauttaa lupauksen, joka täyttyy, kun data on lisätty tiedostoon. Sitä käytetään tietojen asynkroniseen lisäämiseen olemassa olevaan tiedostoon, jolloin aiempi sisältö säilyy.

fs.appendFile(file, data, options)
  • file – tiedostopolku, johon data lisätään;
  • data – lisättävä data, joka voi olla merkkijono tai buffer;
  • options – valinnainen objekti, jolla määritellään esimerkiksi koodaus ja tiedostotila.

Kuvittele vilkas keskustelusovellus, joka tallentaa viestit. Kun uusia viestejä tulee, fs.appendFile-metodi lisää ne keskustelulokiin säilyttäen aiemmat viestit.

Koodiesimerkki: Keskusteluviestien lisääminen

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);
  });

Vaiheittainen selitys

Huomio

  • fs.writeFile korvaa tiedoston sisällön kokonaan tai luo uuden tiedoston;
  • fs.appendFile lisää uutta dataa olemassa olevan tiedoston loppuun korvaamatta aiempaa sisältöä.

🧐 Viskikysymys

Arvioi FileSystem (fs) -moduulin käsitteiden ymmärrystäsi:

1. fs-moduuli mahdollistaa tiedostojen ohjelmallisen käsittelyn.

2. Mitä metodia käytetään tiedoston sisällön lukemiseen?

3. Miten fs.appendFile eroaa fs.writeFile-metodista?

question mark

fs-moduuli mahdollistaa tiedostojen ohjelmallisen käsittelyn.

Select the correct answer

question mark

Mitä metodia käytetään tiedoston sisällön lukemiseen?

Select the correct answer

question mark

Miten fs.appendFile eroaa fs.writeFile-metodista?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3
some-alt