• 0

قراءة سطر في ملف بإستخدام node.js

كيف يمكنني قراءة ملف بإستخدام node.js سطر بسطر بحيث يمكنني تنفيذ دالة ما على كل سطر داخل الملف لأن الملف كبير وأريد تطبيق الدالة على كل سطر على حده.
 

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يوجد مكتبة مخصصة لقراءة الملفات سطراً سطراً تدعى readline استخدامها بالشكل التالي:

const fs = require('fs');
const readline = require('readline');

const rl = readline.createInterface({
  input: fs.createReadStream('sample.txt'),  // الملف الذي يحوي البيانات
  crlfDelay: Infinity
});

rl.on('line', (line) => {    // لكل سطر من الملف سوف تتم الطباعة سطراً بسطر
  console.log(`Line from file: ${line}`);
});

تم تمرير crlfDelay: Infinity لفصل المحارف الخاصة:

CR LF ('\r\n') in input.txt as a single line break.

للدلالة على سطر جديد.

يوجد طرق مختلفة يمكنك إيجادهم على رابط التوثيق: nodejs.org/api/readline

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

منذ Node.js v0.12 واعتبارًا من Node.js v4.0.0 ، هناك وحدة أساسية مستقرة للقراءة. إليك أسهل طريقة لقراءة الأسطر من ملف ،  بدون تثبيث إي مكتبات خارجية,

مثال:

const fs = require('fs');
const readline = require('readline');

async function processLineByLine() {
  // إستدعاء الملف المراد فراءته
  const fileStream = fs.createReadStream('input.txt');
  
  
 // إستدعاء الواجهة و الربط مع الملف اللازم للقراءة
  const rl = readline.createInterface({
    input: fileStream,
    crlfDelay: Infinity
  });
  

  for await (const line of rl) {
    //  قراءة سطر بسطر
    console.log(`Line from file: ${line}`);
  }
}

// إستدعاء الدالة لبدء القراءة
processLineByLine();

يمكنك الإطلاع على المزيد من المعلومات حول الوحدة readline في nodejs في  موقع التوثيق الرسمي ل nodejs من  هنا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن