การเขียนไฟล์ข้อความ

JavaScript:
การเขียนไฟล์ข้อความ

วิธีการ:

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

const fs = require('fs');

const data = 'สวัสดี, โลก! นี่คือข้อความที่จะเขียนลงในไฟล์.';

fs.writeFile('example.txt', data, (err) => {
  if (err) {
    throw err;
  }
  console.log('ไฟล์ถูกเขียนแล้ว.');
});

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

ไฟล์ถูกเขียนแล้ว.

สำหรับการเขียนไฟล์แบบซิงโครนัส, ใช้ writeFileSync:

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

ในเว็บเบราว์เซอร์ยุคใหม่, File System Access API เปิดใช้งานฟีเจอร์การอ่านและเขียนไฟล์ อย่างไรก็ตาม การใช้งานนี้ได้ต้องอยู่ภายใต้การอนุญาตจากผู้ใช้ นี่คือวิธีสร้างและเขียนไฟล์:

if ('showSaveFilePicker' in window) {
  const handle = await window.showSaveFilePicker();
  const writable = await handle.createWritable();
  await writable.write('สวัสดี, โลก! นี่คือการเขียนไฟล์ข้อความในเบราว์เซอร์.');
  await writable.close();
}

สำหรับสถานการณ์ที่ซับซ้อนขึ้น หรือเมื่อทำงานกับไฟล์ขนาดใหญ่ คุณอาจต้องการใช้ไลบรารีของบุคคลที่สาม เช่น FileSaver.js สำหรับเบราว์เซอร์:

<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.2/FileSaver.min.js"></script>
<script>
  const blob = new Blob(["สวัสดี, โลก! นี่คือข้อความจาก FileSaver.js."], {type: "text/plain;charset=utf-8"});
  saveAs(blob, "example.txt");
</script>

จำไว้ว่า การเขียนไฟล์ทางด้านไคลเอนต์ (ในเบราว์เซอร์) ถูกจำกัดโดยความกังวลเรื่องความปลอดภัย และการดำเนินการใด ๆ ที่ต้องการบันทึกลงในดิสก์ท้องถิ่นของผู้ใช้ โดยทั่วไปจะต้องการอนุญาตอย่างชัดเจนจากพวกเขา.