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

bookHakemistojen Hallinta Node.js:ssä

Olemme oppineet monia tiedostojen käsittelytekniikoita FileSystem (fs)-moduulin avulla. Kansiot ovat kuitenkin enemmän kuin vain paikkoja tiedostojen säilyttämiseen – ne tarjoavat mahdollisuuksia järjestelyyn, tiedon analysointiin ja muuhun.

Tässä luvussa syvennymme kansioiden käsittelyyn ja opastamme kansioiden selaamisessa, tärkeiden tilastojen keräämisessä, kansioiden prosessoinnissa sekä skriptin luomisessa, joka analysoi ja näyttää kansion sisällön.

Kansioiden selaaminen fs.readdir-metodilla

fs.readdir-metodi lukee asynkronisesti kansion sisällön. Se palauttaa tiedostonimien taulukon. Tämä metodi on hyödyllinen esimerkiksi tehtävissä, joissa halutaan listata kansion tiedostot.

Kuvitellaan tilanne, jossa käsittelemme laajoja oikeudellisia sopimuksia, muistioita ja muita asiakirjoja, jotka liittyvät eri tapauksiin ja asiakkaisiin. Voisimme luoda järjestelmän, joka hakee ja listaa tiedostojen nimet jokaisen asiakkaan kansiosta.

Esimerkki: Kansion tiedostonimien lukeminen

const fs = require("fs").promises;

async function listDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);
    console.log("Directory Contents:", files);
  } catch (err) {
    console.error("Error reading directory:", err.message);
  }
}

listDirectoryContents("./docs");

Vaiheittainen selitys

Hakemistojen tilastotietojen hakeminen fs.stat-metodilla

Hakemistot sisältävät tiedostoja ja tallentavat arvokasta tietoa jokaisen tiedoston ominaisuuksista.

fs.stat-metodi hakee asynkronisesti tiedoston tai hakemiston tilastotiedot. Näihin tietoihin kuuluvat muun muassa tiedoston koko, käyttöoikeudet ja aikaleimat.

Haetaan jokaisen docs-hakemiston sisällä olevan kansion tilastotiedot.

Esimerkki: Hakemistojen nimet ja tilastotiedot

const fs = require("fs").promises;

async function processDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);

    const fileStatsPromises = files.map(async (file) => {
      const filePath = `${directoryPath}/${file}`;
      const stats = await fs.stat(filePath);
      return { name: file, stats };
    });

    const fileStats = await Promise.all(fileStatsPromises);
    console.log("Detailed File Information:", fileStats);
  } catch (err) {
    console.error("Error processing directory contents:", err.message);
  }
}

processDirectoryContents("./docs");

Vaiheittainen selitys

1. Mikä menetelmä voidaan käyttää hakemiston sisällön listaamiseen?

2. Mikä on fs.stat-menetelmän tarkoitus?

question mark

Mikä menetelmä voidaan käyttää hakemiston sisällön listaamiseen?

Select the correct answer

question mark

Mikä on fs.stat-menetelmän tarkoitus?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 9

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain how fs.stat works in more detail?

What kind of statistics can I get from fs.stat?

How can I filter only directories or files from the results?

Awesome!

Completion rate improved to 2.56

bookHakemistojen Hallinta Node.js:ssä

Pyyhkäise näyttääksesi valikon

Olemme oppineet monia tiedostojen käsittelytekniikoita FileSystem (fs)-moduulin avulla. Kansiot ovat kuitenkin enemmän kuin vain paikkoja tiedostojen säilyttämiseen – ne tarjoavat mahdollisuuksia järjestelyyn, tiedon analysointiin ja muuhun.

Tässä luvussa syvennymme kansioiden käsittelyyn ja opastamme kansioiden selaamisessa, tärkeiden tilastojen keräämisessä, kansioiden prosessoinnissa sekä skriptin luomisessa, joka analysoi ja näyttää kansion sisällön.

Kansioiden selaaminen fs.readdir-metodilla

fs.readdir-metodi lukee asynkronisesti kansion sisällön. Se palauttaa tiedostonimien taulukon. Tämä metodi on hyödyllinen esimerkiksi tehtävissä, joissa halutaan listata kansion tiedostot.

Kuvitellaan tilanne, jossa käsittelemme laajoja oikeudellisia sopimuksia, muistioita ja muita asiakirjoja, jotka liittyvät eri tapauksiin ja asiakkaisiin. Voisimme luoda järjestelmän, joka hakee ja listaa tiedostojen nimet jokaisen asiakkaan kansiosta.

Esimerkki: Kansion tiedostonimien lukeminen

const fs = require("fs").promises;

async function listDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);
    console.log("Directory Contents:", files);
  } catch (err) {
    console.error("Error reading directory:", err.message);
  }
}

listDirectoryContents("./docs");

Vaiheittainen selitys

Hakemistojen tilastotietojen hakeminen fs.stat-metodilla

Hakemistot sisältävät tiedostoja ja tallentavat arvokasta tietoa jokaisen tiedoston ominaisuuksista.

fs.stat-metodi hakee asynkronisesti tiedoston tai hakemiston tilastotiedot. Näihin tietoihin kuuluvat muun muassa tiedoston koko, käyttöoikeudet ja aikaleimat.

Haetaan jokaisen docs-hakemiston sisällä olevan kansion tilastotiedot.

Esimerkki: Hakemistojen nimet ja tilastotiedot

const fs = require("fs").promises;

async function processDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);

    const fileStatsPromises = files.map(async (file) => {
      const filePath = `${directoryPath}/${file}`;
      const stats = await fs.stat(filePath);
      return { name: file, stats };
    });

    const fileStats = await Promise.all(fileStatsPromises);
    console.log("Detailed File Information:", fileStats);
  } catch (err) {
    console.error("Error processing directory contents:", err.message);
  }
}

processDirectoryContents("./docs");

Vaiheittainen selitys

1. Mikä menetelmä voidaan käyttää hakemiston sisällön listaamiseen?

2. Mikä on fs.stat-menetelmän tarkoitus?

question mark

Mikä menetelmä voidaan käyttää hakemiston sisällön listaamiseen?

Select the correct answer

question mark

Mikä on fs.stat-menetelmän tarkoitus?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 9
some-alt