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