การอ่านไฟล์ข้อความ

TypeScript:
การอ่านไฟล์ข้อความ

วิธีการ:

มาอ่านไฟล์ข้อความใน TypeScript โดยใช้โมดูล fs/promises ของ Node.js กันเถอะ ตัวอย่างนี้เราจะทำให้ง่าย: อ่านไฟล์ชื่อว่า example.txt และบันทึกเนื้อหาของมัน

import { readFile } from 'fs/promises';

async function readTextFile(filePath: string) {
  try {
    const data = await readFile(filePath, 'utf8');
    console.log(data);
  } catch (error) {
    console.error(`Error reading file from disk: ${error}`);
  }
}

readTextFile('./example.txt');

ตัวอย่างผลลัพธ์:

สวัสดี, นี่คือเนื้อหาจากไฟล์นะ!

ลงลึก

ในประวัติศาสตร์, การอ่านไฟล์ใน Node.js มีพื้นฐานมาจากการใช้ callback อย่างหนัก, ซึ่งอาจนำไปสู่ปรากฏการณ์ที่เรียกว่า “callback hell” ด้วยการเกิดขึ้นของ Promises และ async/await, กระบวนการนี้กลายเป็นเรื่องที่ง่ายดายมากขึ้น

นอกเหนือจาก fs/promises, ยังมีโมดูล fs ที่เก่ากว่าซึ่งยังคงทำงานกับรูปแบบ callback ยังมีตัวเลือกในการใช้การประมวลผลแบบ stream ด้วย fs.createReadStream(), ซึ่งมีประโยชน์สำหรับไฟล์ขนาดใหญ่เนื่องจากใช้หน่วยความจำน้อยลง

ในเชิงการดำเนินการ, การเข้าถึงระบบไฟล์เป็นการทำงาน I/O และค่อนข้างช้ากว่าการทำงานในหน่วยความจำ นั่นคือเหตุผลที่รูปแบบการเขียนโค๊ดแบบ asynchronous สำคัญ — ช่วยป้องกันไม่ให้ thread หลักถูกบล็อกและอนุญาตให้ Node.js สามารถจัดการงานอื่นๆ ต่อไป

ดูเพิ่มเติม

สำหรับการศึกษาลึกลงไปในระบบไฟล์ของ Node.js: