Hantering av Kataloger i Node.js
Vi har lärt oss många tekniker för filhantering under vår utforskning av FileSystem (fs)-modulen. Men kataloger är mer än bara platser för att lagra filer – de erbjuder möjligheter till organisering, dataanalys och mer.
I detta kapitel fördjupar vi oss i kataloghantering och vägleder dig i att navigera mellan kataloger, samla viktiga statistikuppgifter, bearbeta kataloger samt skapa ett skript för att analysera och visa kataloginnehåll.
📂 Navigera i kataloger med fs.readdir
Metoden fs.readdir läser asynkront innehållet i en katalog. Den returnerar en array med filnamn. Denna metod kan vara användbar för att lista filer i en mapp.
Tänk dig ett scenario där vi hanterar omfattande juridiska kontrakt, inlagor och andra dokument relaterade till olika ärenden och klienter. Vi skulle kunna skapa ett system som extraherar och listar namnen på filerna i varje klients mapp.
Kodexempel: Läs filnamnen 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");
Steg-för-steg-förklaring
📊 Hämta katalogstatistik med fs.stat
Kataloger innehåller filer och lagrar värdefull information om varje fils attribut.
Metoden fs.stat hämtar asynkront statistik för en fil eller katalog. Denna statistik inkluderar filstorlek, behörigheter, tidsstämplar och mer.
Låt oss hämta statistiken för varje mapp i docs-mappen.
Kodexempel: Hämta katalognamn och statistik
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");
Steg-för-steg-förklaring
🧐 Quizdags
Låt oss testa dina kunskaper om FileSystem (fs)-modulen med några frågor relaterade till kataloghantering.
1. Vilken metod kan användas för att lista innehållet i en katalog?
2. Vad är syftet med metoden fs.stat?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Hantering av Kataloger i Node.js
Svep för att visa menyn
Vi har lärt oss många tekniker för filhantering under vår utforskning av FileSystem (fs)-modulen. Men kataloger är mer än bara platser för att lagra filer – de erbjuder möjligheter till organisering, dataanalys och mer.
I detta kapitel fördjupar vi oss i kataloghantering och vägleder dig i att navigera mellan kataloger, samla viktiga statistikuppgifter, bearbeta kataloger samt skapa ett skript för att analysera och visa kataloginnehåll.
📂 Navigera i kataloger med fs.readdir
Metoden fs.readdir läser asynkront innehållet i en katalog. Den returnerar en array med filnamn. Denna metod kan vara användbar för att lista filer i en mapp.
Tänk dig ett scenario där vi hanterar omfattande juridiska kontrakt, inlagor och andra dokument relaterade till olika ärenden och klienter. Vi skulle kunna skapa ett system som extraherar och listar namnen på filerna i varje klients mapp.
Kodexempel: Läs filnamnen 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");
Steg-för-steg-förklaring
📊 Hämta katalogstatistik med fs.stat
Kataloger innehåller filer och lagrar värdefull information om varje fils attribut.
Metoden fs.stat hämtar asynkront statistik för en fil eller katalog. Denna statistik inkluderar filstorlek, behörigheter, tidsstämplar och mer.
Låt oss hämta statistiken för varje mapp i docs-mappen.
Kodexempel: Hämta katalognamn och statistik
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");
Steg-för-steg-förklaring
🧐 Quizdags
Låt oss testa dina kunskaper om FileSystem (fs)-modulen med några frågor relaterade till kataloghantering.
1. Vilken metod kan användas för att lista innehållet i en katalog?
2. Vad är syftet med metoden fs.stat?
Tack för dina kommentarer!