Menu
CoddyTech

قراءة ملف

جزء من قسم أساسيات Node.js في رحلة Node.js على Coddy. الدرس 10 من 24.

يبدأ كل تشغيل بالملاحظات الثلاث نفسها، لأنها لا توجد إلا في الذاكرة.

تقرأ readFileSync(path, 'utf8') من node:fs ملفًا على هيئة سلسلة نصية. يحتوي ملف الملاحظات على JSON، وهو تنسيق نصي للبيانات المكتوبة على هيئة مصفوفات وكائنات JavaScript، وتحول JSON.parse ذلك النص إلى مصفوفة. تؤدي قراءة ملف غير موجود إلى حدوث خطأ ENOENT، لذا تحقّق باستخدام existsSync أولًا.

import { existsSync, readFileSync } from 'node:fs';

const scores = existsSync('scores.json')
    ? JSON.parse(readFileSync('scores.json', 'utf8'))
    : [];
console.log(scores.length);

من دون 'utf8' ستحصل على مخزن مؤقت (Buffer)، أي البايتات الخام للملف، بدلًا من سلسلة نصية.

challenge icon

التحدي

سهل
  • يحمّل store.js ملاحظاته من notes.json بدلًا من القائمة الثابتة.
  • في حال عدم وجود notes.json، يبدأ المخزن فارغًا وتطبع list العبارة No notes yet.

شغّل node notes.js list. ثم شغّل node notes.js clear، الذي يحذف الملف، ثم شغّل list مرة أخرى. تعيد «إعادة ضبط الملفات» الملف.

جرّب بنفسك

// حمّل الملاحظات من notes.json بدلًا من هذه القائمة.
const store = {
    notes: ['Buy milk', 'Call Ada', 'Water the plants'],
    add(text) {
        this.notes.push(text);
        return this.notes.length;
    },
};

export default store;
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس أساسيات Node.js