Phần 3: File System (P1)

 

Các phần trước

Phần 1: Biến, Hàm, Kiểu dữ liệu trong Node.JS

Phần 2: Tạo Modules trong Node.JS

 

 

Module File System cho phép bạn làm việc với hệ thống file trên máy tính ( máy chủ ) của bạn.

Để truy cập thư viện File System, ta sử dụng phương thức require():

var fs = require('fs')

 

Khái niệm về Đồng bộ (Synchronous) và Không đồng bộ (Asynchronous)

Mỗi phương thức trong module fs đều có các dạng đồng bộ và không đồng bộ. Các phương thức không đồng bộ nhận tham số đầu tiên là một hàm callback để xử lí lỗi, tham số cuối cùng là một hàm callback để lấy dữ liệu. Các phương thức không đồng bộ thì tốt hơn các phương thức đồng bộ, vì nó không dừng một chương trình khi chương trình đó đang chạy, trong khi các phương thức đồng bộ thì có.

 

 

Đọc dữ liệu

Ví dụ, chúng ta có một file text.txt

Techmaster VN
Lập trình Node.JS cơ bản

 

Để đọc dữ liệu của file trên, ta tạo một file read_fs.js như sau:

//Đọc đồng bộ
var fs = require('fs');
var content = fs.readFileSync('./text.txt', 'utf-8');
console.log(content);
console.log('Xin chào các bạn');

//Kết quả
//Techmaster VN
//Lập trình Node.JS cơ bản
//Xin chào các bạn

--------------------------------------

// Đọc không đồng bộ
fs = require('fs');
fs.readFile('./text.txt', 'utf-8', function (err, data) {
    console.log(data);
});
console.log('Xin chào các bạn');

//Kết quả
//Xin chào các bạn
//Techmaster VN
//Lập trình Node.JS cơ bản

 

 

Ghi dữ liệu

Khi ghi dữ liệu lên tập tin chúng ta cần cung cấp đường dẫn đến file và dữ liệu sẽ ghi lên file đó. Nếu file không tồn tại thì Node.js sẽ tạp ra một file mới. Ngược lại, Node.js sẽ ghi đè lên file có sẵn.

var fs = require('fs');
fs.writeFile('message.txt', 'Xin chào', function (err) {
  if (err) throw err;
  console.log('Tạm biệt');
});
console.log('Ghi dữ liệu thành công!');

//Kết quả
//Ghi dữ liệu thành công!
//Tạm biệt

 

 

Chèn thêm nội dung vào file

Để viết gắn thêm nội dung vào phần sau của một file, ta sử dụng phương thức fs.appendFile(). Ví dụ, để viết thêm nội dung "Khóa học Node.JS tại Techmster VN", ta làm như sau:

var fs = require('fs');

fs.appendFile('text.txt', ' Khóa học Node.JS tại Techmaster VN.', function (err) {
  if (err) throw err;
  console.log('Đã thêm thành công');
});

//Kết quả
//Đã thêm thành công

 

Sau đó bạn mở lại file text.txt:

Techmaster VN
Lập trình Node.JS cơ bản

Khóa học Node.JS tại Techmaster.