Håndtering av Kataloger i Node.js
Vi har lært mange teknikker for filbehandling gjennom vår utforskning av FileSystem (fs)-modulen. Men kataloger er mer enn bare steder å lagre filer – de gir muligheter for organisering, dataanalyse og mer.
I dette kapittelet går vi nærmere inn på katalogbehandling og gir veiledning om navigering i kataloger, innhenting av viktige statistikker, prosessering av kataloger og opprettelse av et skript for å analysere og vise innholdet i kataloger.
Navigering i kataloger med fs.readdir
Metoden fs.readdir leser asynkront innholdet i en katalog. Den returnerer et array med filnavn. Denne metoden kan være nyttig for å liste filer i en mappe.
Tenk deg et scenario hvor vi håndterer omfattende juridiske kontrakter, notater og andre dokumenter knyttet til ulike saker og klienter. Vi kan lage et system som henter ut og lister opp navnene på filene i hver klients mappe.
Kodeeksempel: Les filnavnene i en katalog
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");
Trinnvis forklaring
Hente katalogstatistikk med fs.stat
Kataloger inneholder filer og lagrer verdifull informasjon om hver fils attributter.
Metoden fs.stat henter asynkront statistikk for en fil eller katalog. Denne statistikken inkluderer filstørrelse, tillatelser, tidsstempler og mer.
La oss hente statistikken for hver mappe inne i docs-mappen.
Kodeeksempel: Hent katalognavn og statistikk
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");
Trinnvis forklaring
1. Hvilken metode kan brukes for å liste innholdet i en katalog?
2. Hva er formålet med metoden fs.stat?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Håndtering av Kataloger i Node.js
Sveip for å vise menyen
Vi har lært mange teknikker for filbehandling gjennom vår utforskning av FileSystem (fs)-modulen. Men kataloger er mer enn bare steder å lagre filer – de gir muligheter for organisering, dataanalyse og mer.
I dette kapittelet går vi nærmere inn på katalogbehandling og gir veiledning om navigering i kataloger, innhenting av viktige statistikker, prosessering av kataloger og opprettelse av et skript for å analysere og vise innholdet i kataloger.
Navigering i kataloger med fs.readdir
Metoden fs.readdir leser asynkront innholdet i en katalog. Den returnerer et array med filnavn. Denne metoden kan være nyttig for å liste filer i en mappe.
Tenk deg et scenario hvor vi håndterer omfattende juridiske kontrakter, notater og andre dokumenter knyttet til ulike saker og klienter. Vi kan lage et system som henter ut og lister opp navnene på filene i hver klients mappe.
Kodeeksempel: Les filnavnene i en katalog
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");
Trinnvis forklaring
Hente katalogstatistikk med fs.stat
Kataloger inneholder filer og lagrer verdifull informasjon om hver fils attributter.
Metoden fs.stat henter asynkront statistikk for en fil eller katalog. Denne statistikken inkluderer filstørrelse, tillatelser, tidsstempler og mer.
La oss hente statistikken for hver mappe inne i docs-mappen.
Kodeeksempel: Hent katalognavn og statistikk
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");
Trinnvis forklaring
1. Hvilken metode kan brukes for å liste innholdet i en katalog?
2. Hva er formålet med metoden fs.stat?
Takk for tilbakemeldingene dine!