JavaScript:
קריאת קובץ טקסט

איך לעשות:

בואו נראה קוד מדגם: נשתמש ב-Node.js כי בדפדפן זה קצת יותר מסובך מסיבות של אבטחת מידע.

const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('Error reading the file:', err);
    return;
  }
  console.log(data);
});

אם הקובץ example.txt יכיל את הטקסט “שלום עולם”, הפלט יהיה:

שלום עולם

עיון מעמיק:

בעבר, ביצענו קריאת קבצים באופן סינכרוני - הואמנו את הפעולה לסיים לפני שהמערכת תמשיך לתהליך הבא. זה גרם לבלוק של התוכנית. עם Node.js, אנחנו מעדיפים בדרך כלל פעולות אסינכרוניות כדי לשפר את היעילות.

דבר שני, אל תשכח את האופציה לשימוש ב-readFileSync אם אתה רוצה קריאה סינכרונית:

const data = fs.readFileSync('example.txt', 'utf8');
console.log(data);

והיום, אפשר גם להשתמש ב-async/await עם promises לקריאת קבצים בצורה אסינכרונית קלאסית:

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

async function readFile() {
  try {
    const data = await fsPromises.readFile('example.txt', 'utf8');
    console.log(data);
  } catch (err) {
    console.error('Error reading the file:', err);
  }
}

readFile();

עוד עניין לזכור - במערכות גדולות, כדאי לשקול לקרוא בזרימה (streams), כדי להוריד את שימוש בזיכרון.

ראו גם:

למידע נוסף ולהרחבה על קריאת קבצים בNode.js, עיינו במקורות הבאים: