សាស្ត្រា fs ជា​សាស្ត្រា​មានស្រាប់​ដែលនៅ​ក្នុង​នោះ​មាន​ក្បួន​ខ្នាត​មួយ​ចំនួន​ប្រើប្រាស់​សំរាប់​បង្កើត​ឯកសារ ស្រង់​ព័ត៌មានពី​ឯកសារ លុប​ឯកសារ បន្ថែម​ព័ត៌មាន​ចូល​ទៅ​ក្នុង​ឯកសារ និង​ប្តូរ​ឈ្មោះ​របស់​ឯកសារ​។ ដោយឡែក ដើម្បី​ស្រង់​យក​ព័ត៌មាន​ពី​ឯកសារ​ណា​មួយ យើង​ចាំ​បាច់​ត្រូវ​ប្រើប្រាស់​វិធី​ឈ្មោះ readFile នៅ​ក្នុង​សាស្ត្រា fs ។ ឧទាហរណ៍ យើង​មាន​ឯកសារ​ HTML មួយមានឈ្មោះ​ថា myfile.html ​ដែល​នៅ​ក្នុង​នោះ​មាន​ព័ត៌មាន​ដូច​ខាង​ក្រោម​នេះ៖

 

<html>
  <body>
    <h1>ក្បាលទំព័រ</h1>
    <p>កថាខ័ណ្ឌ</p>
  </body>
</html>

 

នៅ​ក្នុង​កម្មវិធី​ Node.js ដើម្បី​ស្រង់​យក​ព័ត៌មាន (read) នៅ​ក្នុង​ឯកសារខាងលើនេះ យើង​ត្រូវ​ធ្វើដូច​ខាងក្រោម​នេះ៖

 

var http = require('http');
var fs = require('fs');
 
http.createServer(function (req, res) {
  fs.readFile('myfile.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    res.end();
  });
}).listen(8080);

 

នៅ​លើ​បន្ទាត់​លេខ 2 ការសរសេរ​ថា var fs = require('fs'); គឺ​ជា​ការយក​សាស្ត្រា​មាន​ស្រាប់ fs មកប្រើ​ប្រាស់​ទាក់ទង​នឹង​ប្រព័ន្ធ​ឯកសារ​។

 

នៅ​លើបន្ទាត់លេខ 5 ការសរសេរ​ថា fs.readFile('myfile.html', function(err, data) { គឺ​ជា​ការយក​វិធី​ឈ្មោះ readFile នៅ​ក្នុង​សាស្ត្រា fs មកប្រើ​​ក្នុង​គោលបំណង​ស្រង់​យក​ព័ត៌មាន​នៅ​ក្នុង​ឯកសារ​ឈ្មោះ myfile.html ដែលជា​ឯកសារ​ស្ថិត​នៅ​ក្នុង​ថតជាមួយនឹង​កម្មវិធី​ខាងលើ​។

 

នៅ​លើ​បន្ទាត់​លេខ 7 ការសរសេរ​ថា res.write(data); គឺជាការ​ឆ្លើយតប​​ទៅ​អ្នក​ប្រើប្រាស់​ដោយ​សរសេរ​បង្ហាញ​នៅ​លើ​ browser នូវ​ព័ត៌មាន​ស្រង់​មកពី​ឯកសារឈ្មោះ myfile.html ។

 

យ៉ាងណាម៉ិញ ដើម្បីបង្កើត​ឯកសារផ្សេង​ៗ​នៅ​ក្នុង​កម្មវិធី Node.js យើង​អាច​ប្រើប្រាស់​នូវ​វិធី​ចំនួន​បី​ដែល​​មាន​នៅ​ក្នុងសាស្ត្រាមាន​ស្រាប់ fs ។ វិធី​ទាំង ៣ គឺ appendFile(), open(), និង writeFile() ។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

var http = require('http');
var fs = require('fs');
 
http.createServer(function (req, res) {
 fs.appendFile('mynewfile1.txt', 'បង្កើត​ឯកសារ  mynewfile1.txt \n', function (err){
  if (err) throw err;
  console.log('Saved!');
 });
  
 fs.readFile('mynewfile1.txt', function(err, data) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(data);
  res.end();
 });
}).listen(8080);

 

នៅ​លើ​បន្ទាត់​លេខ 5 ការសរសេរ​ថា fs.appendFile('mynewfile1.txt', 'បង្កើត​ឯកសារ mynewfile1.txt \n', function (err){ គឺ​ជា​ការប្រើវិធី​ឈ្មោះ appendFile នៅ​ក្នុង​សាស្ត្រា fs ដើម្បី​បង្កើត​ឯកសារ​ថ្មី​មួយ​មាន​ឈ្មោះ​ថា mynewfile1.txt ស្ថិត​នៅ​ក្នុង​ថត​ជាមួយ​នឹងកម្មវិធី​ខាង​លើ​នេះ​។ មួយវិញទៀត ព័ត៌មាន​ដែល​ជា​កំរង​អក្សរ 'បង្កើត​ឯកសារ mynewfile1.txt \n' ក៏​ត្រូវ​បាន​បញ្ចូល​ទៅ​ក្នុង​ឯកសារ​នេះដែរ​។

 

យើង​ត្រូវ​កត់​សំគាល់​ថា​ វីធី​ឈ្មោះ appendFile នេះ​បង្កើត​ឯកសារ​ថ្មី​ក្នុង​ករណីដែល​វា​រកមិន​ឃើញ​មាន​ឯកសារ​​ណាមួយ​មាន​ឈ្មោះ​ដូច​ជា​ឯកសារ​ដែល​វា​ត្រូវ​បង្កើត​តែ​ប៉ុណ្ណោះ​។ បើ​ពុំនោះសោតទេ វា​នឹង​បើកឯកសារ​ដែល​មាន​ឈ្មោះ​ដូច​ឯកសារដែល​ត្រូវ​បង្កើត​នោះ ដើម្បី​សរសេរ​បញ្ចូល​ព័ត៌មានផ្សេង​ៗ​នៅ​ខាង​ចុង​ឯកសារ​នោះ​។

 

ចំណែកឯ​វិធី​ឈ្មោះ open() វិញ ក៏ត្រូវ​បាន​គេយកមក​ប្រើប្រាស់​សំរាប់​បង្កើត​ឯកសារ​ថ្មីៗ​ដែរ តែ​វិធី​នេះ​ខុស​ពី​វិធី​ឈ្មោះ appendFile() នៅ​ត្រង់​ថា វា​មិន​បញ្ខូល​ទិន្នន័យ​ផ្សេង​ៗ​ចូល​ទៅ​ក្នុង​ឯសារ​ដែលត្រូវបានបង្កើត​ថ្មី​នោះ​ឡើយ​។ ហើយ​ដូចគ្នា​នឹង​វិធី​ឈ្មោះ appendFile() ដែរ ក្នុង​ករណី​ដែល​មាន​ឯកសារ​ចាស់​ណាមួយ​មាន​ឈ្មោះ​ដូច​ឯកសារ​ថ្មី​ដែល​ត្រូវ​​បង្កើត​នោះ​ វិធីឈ្មោះ open() នឹង​មិន​បង្កើត​ឯកសារ​ថ្មី​ណាមួយ​ឡើយ ពោលគឺវា​នឹងបើកឯកសារ​ចាស់​នោះ​សំរាប់​បន្ថែម​ទិន្នន័យ​ឬ​ស្រង់​យកទិន្នន័យ​មក​ប្រើការ​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

var http = require('http');
var fs = require('fs');
 
http.createServer(function (req, res) {
 fs.open('mynewfile2.txt', 'w', function (err, file){
  if (err) throw err;
  console.log('Saved!');
 });
  
 fs.readFile('mynewfile2.txt', function(err, data) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(data);
  res.end();
 });
}).listen(8080);

 

នៅ​លើបន្ទាត់​លេខ 5 ការសរសេរ​ថា fs.open('mynewfile2.txt', 'w', function (err, file){ គឺ​ជាការយក​វិធី​ឈ្មោះ open() នៅ​ក្នុង​សាស្ត្រា​មាន​ស្រាប់​ fs មកប្រើដើម្បី​បង្កើត​ឯកសារ​ថ្មីមួយ​ទៀត​មាន​ឈ្មោះថា mynewfile2.txt ទុក​នៅ​ក្នុង​ថត​ជាមួយ​នឹងកម្មវិធី​ខាង​លើ​នេះ​។

 

ចំពោះ​វិធី​ឈ្មោះ​ writeFile() ក៏​មាន​លក្ខណៈ​ដូច​ជា​វិធី​ឈ្មោះ appendFile() ដែរ គឺ​វា​នឹង​បង្កើត​ឯកសារ​ថ្មី​មួយ​និង​បញ្ចូល​ទិន្នន័យ​ថ្មី​ទៅ​ក្នុង​នោះ ក្នុង​ករណីដែល​គ្មាន​ឯកសារចាស់​ណា​មួយ​​មាន​ឈ្មោះដូច​ឯកសារ​ថ្មី​ដែល​ត្រូវ​បង្កើត​នោះទេ​។ បើ​ពុំនោះ​សោត​ទេ វា​នឹង​បើក​ឯកសារ​ចាស់​នោះ​រួច​ជំនួស​ទិន្នន័យ​ទាំងអស់​នៅ​ក្នុង​នោះ​ ដោយ​ទិន្នន័យ​ថ្មី​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

 

var http = require('http');
var fs = require('fs');
 
http.createServer(function (req, res) {
 fs.writeFile('mynewfile3.txt', 'ទិន្នន័យ​ថ្មី​', function (err){
  if (err) throw err;
  console.log('Saved!');
 });
  
 fs.readFile('mynewfile3.txt', function(err, data) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(data);
  res.end();
 });
}).listen(8080);

 

នៅ​លើ​បន្ទាត់​លេខ​ 5 ការសរសេរ​ថា fs.writeFile('mynewfile3.txt', 'ទិន្នន័យ​ថ្មី​', function (err){ គឺជាការយក​វិធី​ឈ្មោះ writeFile() នៅ​ក្នុង​សាស្ត្រា fs មក​ប្រើ ដើម្បី​បង្កើត​ឯកសារ​ថ្មី​មួយ​មាន​ឈ្មោះថា mynewfile3.txt ទុក​នៅ​ក្នុង​ថត​ជាមួយ​នឹង​កម្មវិធី​ខាង​លើ​នេះ ដោយ​បញ្ជូល​ទិន្នន័យ​ដែលជា​កំរងអក្សរ 'ទិន្នន័យ​ថ្មី​' ចូល​ទៅ​ក្នុង​នោះ​។

 

ផ្ទុយ​ទៅវិញ បើយើងចង់​លុប​ឯកសារ​ណាមួយ យើង​ត្រូវប្រើវិធីឈ្មោះ unlink() នៅ​ក្នុង​សាស្ត្រា fs ។ ពិនិត្យ​កម្មវិធីខាង​ក្រោមនេះ៖

 

var http = require('http');
var fs = require('fs');
 
http.createServer(function (req, res) {
 fs.unlink('mynewfile2.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
 });
  
 fs.readFile('mynewfile2.txt', function(err, data) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(data);
  res.end();
 });
}).listen(8080);

 

នៅ​លើបន្ទាត់​លេខ 5 ការសរសេរ​ថា fs.unlink('mynewfile2.txt', function (err) { គឺ​ជាការប្រើវិធី​ឈ្មោះ unlink() នៅ​ក្នុង​សាស្ត្រា fs ដើម្បី​លុប​ឯកសារ​មាន​ឈ្មោះ mynewfile2.txt ។

 

យ៉ាងណាម៉ិញ បើសិនជាយើងចង់ប្តូរ​ឈ្មោះ​របស់​ឯកសារណាមួយ យើង​ត្រូវ​ប្រើ​វិធី​ឈ្មោះ rename() នៅ​ក្នុង​សាស្ត្រា fs ។ ពិនិត្យ​កម្មវិធី​ខាងក្រោម​នេះ៖

 

var http = require('http');
var fs = require('fs');
 
http.createServer(function (req, res) {
 fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
  if (err) throw err;
  console.log('File Renamed!');
 });
  
 fs.readFile('myrenamedfile.txt', function(err, data) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(data);
  res.end();
 });
}).listen(8080);

 

នៅ​លើ​បន្ទាត់​លេខ 5 ការសរសេរ​ថា fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) { គឺ​ជាការ​យក​វិធី​ឈ្មោះ rename() នៅ​ក្នុង​សាស្ត្រា fs មក​ប្រើ​ដើម្បី​ប្តូរ​ឈ្មោះ​ឯកសារ mynewfile1.txt អោយ​ទៅ​ជា myrenamedfile.txt វិញ​៕