Hakemistojen Hallinta Node.js:ssä
Olemme oppineet monia tiedostojen käsittelytekniikoita FileSystem (fs)-moduulin avulla. Kansiot ovat kuitenkin enemmän kuin vain paikkoja tiedostojen tallentamiseen – ne tarjoavat mahdollisuuksia organisointiin, tiedon analysointiin ja muuhun.
Tässä luvussa syvennymme kansioiden käsittelyyn ja opastamme kansioissa liikkumisessa, tärkeiden tilastojen keräämisessä, kansioiden prosessoinnissa sekä skriptin luomisessa, joka analysoi ja näyttää kansion sisällön.
📂 Kansioissa liikkuminen fs.readdir-metodilla
fs.readdir-metodi lukee kansion sisällön asynkronisesti. Se 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 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 tilastojen hakeminen fs.stat-metodilla
Hakemistot sisältävät tiedostoja ja niihin liittyvää arvokasta tietoa, kuten tiedostojen ominaisuuksia.
fs.stat-metodi hakee asynkronisesti tiedoston tai hakemiston tilastotiedot. Näihin tietoihin kuuluvat muun muassa tiedoston koko, käyttöoikeudet, aikaleimat ja muut ominaisuudet.
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
🧐 Viskikysymys
Testataan tiedot FileSystem (fs) -moduulista muutamalla hakemiston käsittelyyn liittyvällä kysymyksellä.
1. Mitä menetelmää voidaan käyttää hakemiston sisällön listaamiseen?
2. Mikä on fs.stat-menetelmän tarkoitus?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain the difference between fs.readdir and fs.stat?
How can I filter only directories or only files from the results?
What other useful information can I get from the stats object?
Awesome!
Completion rate improved to 2.56
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 paikkoja tiedostojen tallentamiseen – ne tarjoavat mahdollisuuksia organisointiin, tiedon analysointiin ja muuhun.
Tässä luvussa syvennymme kansioiden käsittelyyn ja opastamme kansioissa liikkumisessa, tärkeiden tilastojen keräämisessä, kansioiden prosessoinnissa sekä skriptin luomisessa, joka analysoi ja näyttää kansion sisällön.
📂 Kansioissa liikkuminen fs.readdir-metodilla
fs.readdir-metodi lukee kansion sisällön asynkronisesti. Se 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 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 tilastojen hakeminen fs.stat-metodilla
Hakemistot sisältävät tiedostoja ja niihin liittyvää arvokasta tietoa, kuten tiedostojen ominaisuuksia.
fs.stat-metodi hakee asynkronisesti tiedoston tai hakemiston tilastotiedot. Näihin tietoihin kuuluvat muun muassa tiedoston koko, käyttöoikeudet, aikaleimat ja muut ominaisuudet.
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
🧐 Viskikysymys
Testataan tiedot FileSystem (fs) -moduulista muutamalla hakemiston käsittelyyn liittyvällä kysymyksellä.
1. Mitä menetelmää voidaan käyttää hakemiston sisällön listaamiseen?
2. Mikä on fs.stat-menetelmän tarkoitus?
Kiitos palautteestasi!