CĂN BẢN
SERVER
MYSQL
MONGODB
MODULE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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é.

Như ta biết Javascript sử dụng None-blocking IO và cho phép chúng ta xử lý bất đồng bộ và bất đồng bộ (Asynchronous và Synchronous), vì vậy thư viện File System cho phép chúng ta lựa chọn hai phương thức này để xử lý file. Để hiểu rõ hơn thì bạn có thể xem các ví dụ ở bên dưới.

Để thực hành thì bạn tạo một file tên là myfile.txt nằm cùng cấp với file server.js và file myfile.txt có nội dung là "Nội dung trong file txt".

1. fs.readFile() - đọc file bất đồng bộ

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");

Kết quả:

readfile nodejs png

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.

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

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ả:

readfilesync nodejs png

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.

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

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");

Kết quả:

writefile nodejs png

4. fs.writeFileSync() - gi file đồng bộ

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
  • 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 quả:

writefilesync nodejs png

5. Lời kết

Về tài liệu cho module này thì trên trang chủ của NodeJS khá là đầy đủ rồi nên mình không muốn mất nhiều thời gian để trình bày. Nếu bạn muốn tìm hiểu thêm thì hãy vào link này nhé.

Cùng chuyên mục:

Crawl dữ liệu website bằng NodeJS cơ bản

Crawl dữ liệu website bằng NodeJS cơ bản

CORS là gì ? Xử lý CORS trong NodeJS

CORS là gì ? Xử lý CORS trong NodeJS

Chắc hẳn trong quá trình xử lý các request tới server thì một vài trường…

Xử lý form trong Express

Xử lý form trong Express

Xây dựng URL trong Express

Xây dựng URL trong Express

Trong bài viết này chúng ta sẽ cùng nhau đi tìm hiểu về cách xây…

Populate trong Mongoose

Populate trong Mongoose

Error Handling & Debugging trong Socket.io

Error Handling & Debugging trong Socket.io

Namespaces & Rooms trong Socket.io

Namespaces & Rooms trong Socket.io

Middleware trong Mongoose

Middleware trong Mongoose

Create / Read / Update / Delete trong Mongoose

Create / Read / Update / Delete trong Mongoose

Validation trong Mongoose

Validation trong Mongoose

Subdocuments trong Mongooose

Subdocuments trong Mongooose

Documents trong Mongoose

Documents trong Mongoose

Trong bài viết này chúng ta sẽ tìm hiểu về documents trong Mongoose

Models trong Mongoose

Models trong Mongoose

SchemaTypes trong Mongoose

SchemaTypes trong Mongoose

Schemas trong Mongoose

Schemas trong Mongoose

Mongoose trong NodeJS

Mongoose trong NodeJS

Làm việc với Table MySQL sử dụng Nodejs

Làm việc với Table MySQL sử dụng Nodejs

Kết nối với MongoDB trong NodeJS

Kết nối với MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Giới thiệu MongoDB trong NodeJS

Insert / Update / Delete / Select MySQL trong NodeJS

Insert / Update / Delete / Select MySQL trong NodeJS

Top