เขียนไฟล์ใน node.js

ใน Node.js, คุณสามารถเขียนไฟล์ได้โดยใช้โมดูล fs (File System) เช่นเดียวกับการอ่านไฟล์ ตามนี้คือวิธีการเขียนไฟล์ใน Node.js:

  1. นำเข้าโมดูล fs:
    ในโค้ดของคุณ ให้เริ่มต้นโดยการนำเข้าโมดูล fs ด้วยคำสั่ง require:

    1
    const fs = require('fs');
  2. ใช้ fs.writeFile() เพื่อเขียนไฟล์:
    ใช้ฟังก์ชัน fs.writeFile() เพื่อเขียนข้อมูลลงในไฟล์ โดยระบุเส้นทางไฟล์ที่คุณต้องการเขียนและข้อมูลที่คุณต้องการเขียน:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const filePath = 'example.txt';
    const fileContent = 'นี่คือข้อความที่คุณต้องการเขียนลงในไฟล์';

    fs.writeFile(filePath, fileContent, (err) => {
    if (err) {
    console.error('เกิดข้อผิดพลาดในการเขียนไฟล์:', err);
    return;
    }

    console.log('ไฟล์ถูกเขียนเรียบร้อย');
    });

    ในตัวอย่างนี้เราใช้ fs.writeFile() เพื่อเขียนข้อความ fileContent ลงในไฟล์ example.txt.

  3. การจัดการข้อผิดพลาด:
    เมื่อมีข้อผิดพลาดในการเขียนไฟล์ ฟังก์ชัน callback จะรับอาร์กิวเมนต์แรกเป็นข้อผิดพลาด (ถ้ามี) ดังนั้นคุณควรตรวจสอบ err เพื่อรับรู้ว่ามีข้อผิดพลาดหรือไม่.

  4. การใช้ fs.writeFileSync() (เวอร์ชันแบบซิงโครนัส):
    หากคุณต้องการเขียนไฟล์แบบซิงโครนัส (synchronously) คุณสามารถใช้ fs.writeFileSync() ได้ตามนี้:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    const filePath = 'example.txt';
    const fileContent = 'นี่คือข้อความที่คุณต้องการเขียนลงในไฟล์';

    try {
    fs.writeFileSync(filePath, fileContent);
    console.log('ไฟล์ถูกเขียนเรียบร้อย');
    } catch (err) {
    console.error('เกิดข้อผิดพลาดในการเขียนไฟล์:', err);
    }

    โปรดทราบว่าการใช้ fs.writeFileSync() จะทำให้โค้ดถูกบล็อกไว้ (blocking) ระหว่างที่ไฟล์ถูกเขียน ซึ่งอาจทำให้แอปพลิเคชันของคุณหยุดทำงานไประหว่างระยะเวลาที่เขียนไฟล์.

การใช้ fs.writeFile() หรือ fs.writeFileSync() ขึ้นอยู่กับความต้องการของคุณ หากคุณต้อง

การการเขียนแบบไม่บล็อกและมีความสามารถในการจัดการข้อผิดพลาดเป็นอิสระ fs.writeFile() เป็นตัวเลือกที่ดี แต่หากคุณต้องการการเขียนแบบซิงโครนัสให้ใช้ fs.writeFileSync() โดยระมัดระวังในการใช้ให้คำนึงถึงการบล็อกแอปพลิเคชันของคุณ.