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ä

Hakemistojen 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 tiedostojen säilytyspaikkoja – ne tarjoavat mahdollisuuksia organisointiin, tiedon analysointiin ja muuhun.

Tässä luvussa syvennymme kansioiden käsittelyyn ja opastamme kansioiden selaamisessa, tärkeiden tilastojen keräämisessä, kansioiden käsittelyssä 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 ja palauttaa tiedostonimien taulukon. Tämä metodi on hyödyllinen esimerkiksi, kun halutaan listata kansion tiedostot.

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

Esimerkki: Kansion tiedostojen nimien 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

Hakemiston tilastojen 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, aikaleimat ja paljon muuta.

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. Mitä menetelmää voidaan käyttää hakemiston sisällön listaamiseen?

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

question mark

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

Valitse oikea vastaus

question mark

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

Valitse oikea vastaus

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

Hakemistojen Hallinta Node.js:ssä

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

Tässä luvussa syvennymme kansioiden käsittelyyn ja opastamme kansioiden selaamisessa, tärkeiden tilastojen keräämisessä, kansioiden käsittelyssä 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 ja palauttaa tiedostonimien taulukon. Tämä metodi on hyödyllinen esimerkiksi, kun halutaan listata kansion tiedostot.

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

Esimerkki: Kansion tiedostojen nimien 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

Hakemiston tilastojen 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, aikaleimat ja paljon muuta.

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

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 9
some-alt