Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Tiedostojärjestelmän Käsittely Node.js:ssä | Konsolisovellusten Rakentaminen Node.js:llä
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Backend-kehitys Node.js:llä ja Express.js:llä

bookTiedostojärjestelmän Käsittely Node.js:ssä

FileSystem-moduuli (fs) on Node.js:n ydinmoduuli, joka tarjoaa tehokkaita ominaisuuksia tiedostojen käsittelyyn ohjelmallisesti. Tämä moduuli on hyödyllinen monissa 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 (promise), 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ääritetään esimerkiksi merkistökoodaus.

Kuvittele rakentavasi dynaamista blogialustaa. 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 datan asynkroniseen kirjoittamiseen tiedostoon, joka voi olla uusi tai olemassa oleva. Metodi mahdollistaa datan, merkistökoodauksen ja tiedoston käyttöoikeuksien määrittelyn.

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

Kuvitellaan, että meidän 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 datan 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, jossa määritellään esimerkiksi merkistökoodaus ja tiedostotila.

Kuvittele vilkas keskustelusovellus, joka tallentaa viestit. Kun uusia viestejä saapuu, 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öä.

1. fs-moduulin avulla voidaan käsitellä tiedostoja ohjelmallisesti.

2. Mitä menetelmää käyttäisimme tiedoston sisällön lukemiseen?

3. Miten fs.appendFile eroaa fs.writeFile-menetelmästä?

question mark

fs-moduulin avulla voidaan käsitellä tiedostoja ohjelmallisesti.

Select the correct answer

question mark

Mitä menetelmää käyttäisimme tiedoston sisällön lukemiseen?

Select the correct answer

question mark

Miten fs.appendFile eroaa fs.writeFile-menetelmästä?

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

bookTiedostojärjestelmän Käsittely Node.js:ssä

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 monissa 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 (promise), 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ääritetään esimerkiksi merkistökoodaus.

Kuvittele rakentavasi dynaamista blogialustaa. 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 datan asynkroniseen kirjoittamiseen tiedostoon, joka voi olla uusi tai olemassa oleva. Metodi mahdollistaa datan, merkistökoodauksen ja tiedoston käyttöoikeuksien määrittelyn.

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

Kuvitellaan, että meidän 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 datan 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, jossa määritellään esimerkiksi merkistökoodaus ja tiedostotila.

Kuvittele vilkas keskustelusovellus, joka tallentaa viestit. Kun uusia viestejä saapuu, 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öä.

1. fs-moduulin avulla voidaan käsitellä tiedostoja ohjelmallisesti.

2. Mitä menetelmää käyttäisimme tiedoston sisällön lukemiseen?

3. Miten fs.appendFile eroaa fs.writeFile-menetelmästä?

question mark

fs-moduulin avulla voidaan käsitellä tiedostoja ohjelmallisesti.

Select the correct answer

question mark

Mitä menetelmää käyttäisimme tiedoston sisällön lukemiseen?

Select the correct answer

question mark

Miten fs.appendFile eroaa fs.writeFile-menetelmästä?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3
some-alt