Cách sử dụng Module FS trong NodeJS

Module FS (File System) là module dùng để xử lý đọc ghi file trên Server và trong bài này mình sẽ giới thiệu sơ lược cách sử dụng module này nhé.


1039

fs.readFile() – đọc file bất đồng bộ trong NodeJS

fs.readFile() trong NodeJS. Hàm này có cú pháp như sau:

fs.readFile(file, charset, callback);

Trong đó:

  • file: đường dẫn trỏ tới file cần đọc
  • charset: thiết lập charset
  • callback: hàm gọi khi đọc xong

Ví dụ:

var fs = require('fs');
console.log("START");
var content = fs.readFile("./myfile.txt", 'utf8', function(error, data){
    console.log('Data: ' + data);
    console.log('Error: ' + error);
});
console.log("END");

Như kết quả các bạn thấy thứ tự in ra màn hình sẽ là START -> END -> Nội dung hàm callback. Vậy hàm này đã xử lý bất đồng bộ vì nếu tuân theo luật trình biên dịch từ trên xuống thì END phải nằm ở dưới cùng.

fs.readFileSync() – đọc file đồng bộ

Trong NodeJS, hàm này có cú pháp như sau:

fs.readFileSync(file, optionsObject);

Trong đó:

  • file: đường dẫn tới file cần đọc
  • optionsObject: Là một đối tượng gồm hai tham số
    • encoding
    • fllag

Ví dụ:


var fs = require('fs');
console.log("START");
var content = fs.readFileSync('./myfile.txt');
console.log("CONTENT: " + content);
console.log("END");

Kết quả đúng với thứ tự là START -> CONTENT -> END. Từ đây các bạn thấy khi xử lý bất đồng bộ thì bắt buộc phải có một hàm callback, còn xử lý đồng bộ thì không cần.

fs.writeFile() – ghi file bất đồng bộ

Trong NodeJS, hàm này có cú pháp như sau:

fs.writeFile(file, data, optionsObject, callback);

Trong đó:

  • file: đường dẫn file cần ghi
  • data: nội dung cần ghi
  • optionsObject: là một đối tượng gồm
    • encoding: mặc định = ‘utf8’
    • mode: mặc định = 0o666
    • flag: mặc định = ‘w’
  • callback: hàm gọi sau khi ghi xong

Ví dụ:

var fs = require('fs');
console.log("START");
fs.writeFile('./myfile.txt', 'Noi dung file moi cap nhat', {}, function(err){
    console.log('Ghi file xong!');
});
console.log("END");

fs.writeFileSync() – ghi file đồng bộ trong NodeJS

Hàm này có cú pháp như sau:

fs.writeFileSync(file, data, optionsObject);

Trong đó:

  • file: đường dẫn tới file cần ghi mà bạn muốn
  • data: nội dung cần ghi
  • optionsObject: là một đối tượng gồm.
    • encoding: mặc định = ‘utf8’
    • mode: mặc định = 0o666
    • flag: mặc định = ‘w’

Vi dụ:

var fs = require('fs');
console.log("START");
fs.writeFileSync('./myfile.txt', 'Noi dung file moi cap nhat');
console.log("GHI XONG");
console.log("END");

Kết luận

Qua bài viết chúng ta đã tìm hiểu về module fs trong NodeJS. Giúp bạn hiểu được việc đọc và ghi trong file. Cách áp dụng từng trường hợp cho đúng cách.

Hãy tìm hiểu thêm về NodeJS: NodeJS – Những bí mật phải biết khi đi phỏng vấn


Like it? Share with your friends!

1039