- เรียนรู้การทำงานกับระบบไฟล์ใน Node.js
- เข้าใจความแตกต่างระหว่าง Synchronous และ Asynchronous file operations
- รู้จักกับ Streams และการจัดการไฟล์ขนาดใหญ่
- เรียนรู้การจัดการ directories และ file permissions
Node.js มี built-in module ชื่อ fs สำหรับทำงานกับระบบไฟล์
-
Synchronous (Blocking): จะรอจนกว่าจะเสร็จก่อนไปทำงานต่อ
fs.readFileSync(),fs.writeFileSync()- ใช้เมื่อต้องการความแน่นอนในลำดับการทำงาน
-
Asynchronous (Non-blocking): ไม่รอ จะทำงานอื่นต่อไปได้
fs.readFile(),fs.writeFile()(callback)fs.promises.readFile(),fs.promises.writeFile()(promise)- ใช้สำหรับ production เพื่อประสิทธิภาพ
สำหรับจัดการไฟล์ขนาดใหญ่โดยไม่ต้องโหลดทั้งไฟล์เข้า memory
# รันไฟล์หลัก
npm run lab03
# หรือรันแยกไฟล์
node app.js
node sync-async.js
node streams.js
node directory-ops.js
node file-watcher.jsapp.js- ไฟล์หลักสาธิต File Systemsync-async.js- เปรียบเทียบ sync vs asyncstreams.js- การใช้งาน Streamsdirectory-ops.js- การจัดการไดเรกทอรีfile-watcher.js- การ watch การเปลี่ยนแปลงไฟล์data/- โฟลเดอร์เก็บไฟล์ข้อมูลทดสอบ
หลังจากทำ lab นี้เสร็จ คุณจะ:
- สามารถอ่าน เขียน และจัดการไฟล์
- เข้าใจความแตกต่าง sync vs async operations
- รู้จักการใช้งาน Streams สำหรับไฟล์ขนาดใหญ่
- สามารถจัดการไดเรกทอรีและ file permissions