Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Arbete med Filsystemet i Node.js | Bygga Konsolapplikationer med Node.js
Backendutveckling med Node.js och Express.js

Arbete med Filsystemet i Node.js

Svep för att visa menyn

FileSystem-modulen (fs) är en kärnmodul i Node.js som tillhandahåller kraftfulla funktioner för att programmera interaktion med filer. Denna modul är användbar för olika uppgifter, inklusive hantering av konfigurationer, dataorganisering och läsning samt skrivning av filinnehåll.

Filläsning med fs.readFile

Metoden fs.readFile returnerar ett löfte som löses med filens innehåll. Den möjliggör asynkron filläsning och passar för att läsa både text- och binärfiler.

fs.readFile(path, options)
  • path – filsökvägen som ska läsas;
  • options – ett valfritt objekt som specificerar alternativ som teckenkodning.

Föreställ dig att bygga en dynamisk bloggplattform. Här kommer metoden fs.readFile in i bilden och hämtar snabbt blogginläggens innehåll från en fil.

Kodexempel: Läsa innehåll

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

fs.readFile('blog-post.txt', 'utf-8')
  .then(content => {
    console.log('Current content:', content);
  })
  .catch(err => {
    console.error('Error reading file:', err);
  });

Steg-för-steg-förklaring

Filskrivning med fs.writeFile

Metoden fs.writeFile returnerar ett löfte som löses när filen har skrivits. Den används för att asynkront skriva data till en fil, som kan vara ny eller redan existerande. Den erbjuder alternativ för att specificera data, kodning och filbehörigheter.

fs.writeFile(file, data, options)
  • file - filsökvägen att skriva till;
  • data - data att skriva, vilket kan vara en sträng eller en buffer;
  • options - ett valfritt objekt som specificerar alternativ som kodning och fil-läge.

Föreställ dig att vi behöver spara en ny användare till filen user-db.json. Här säkerställer metoden fs.writeFile att våra ord hittar sin plats.

Kodexempel: Skriva användardata

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

const newUser = {
  id: 1,
  username: "Nero",
  email: "arman@example.com",
};

const fileName = "user-db.json";

fs.writeFile(fileName, JSON.stringify(newUser), "utf-8")
  .then(() => {
    console.log("User information saved successfully.");
  })
  .catch((err) => {
    console.error("Error writing file:", err);
  });

Steg-för-steg-förklaring

Utöka med fs.appendFile

Metoden fs.appendFile returnerar ett löfte som löses när data har lagts till i filen. Den används för att asynkront lägga till data i en befintlig fil, samtidigt som tidigare innehåll bevaras.

fs.appendFile(file, data, options)
  • file - filsökvägen till vilken data ska läggas till;
  • data - data att lägga till, vilket kan vara en sträng eller en buffer;
  • options - ett valfritt objekt som specificerar alternativ som kodning och fil-läge.

Föreställ dig en livlig chattapplikation som loggar konversationer. När nya meddelanden kommer in, lägger metoden fs.appendFile till dessa i chatloggen samtidigt som tidigare interaktioner bevaras.

Kodexempel: Lägga till chattmeddelanden

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

const newMessage = "User2: Hello, how are you?";

fs.appendFile("chat.txt", newMessage + "\n")
  .then(() => {
    console.log("Message added to chat log.");
  })
  .catch((err) => {
    console.error("Error appending message:", err);
  });

Steg-för-steg-förklaring

Note
Notering
  • fs.writeFile används för att helt ersätta innehållet i en fil eller skapa en ny fil;
  • fs.appendFile används för att lägga till ny data i slutet av en befintlig fil utan att skriva över det som redan finns.

1. Modulen fs gör det möjligt för oss att programmera och interagera med filer.

2. Vilken metod använder vi för att läsa innehållet i en fil?

3. Hur skiljer sig fs.appendFile från fs.writeFile?

question mark

Modulen fs gör det möjligt för oss att programmera och interagera med filer.

Vänligen välj det korrekta svaret

question mark

Vilken metod använder vi för att läsa innehållet i en fil?

Vänligen välj det korrekta svaret

question mark

Hur skiljer sig fs.appendFile från fs.writeFile?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 3
some-alt