File System (FS) trong Node.js là gì?

Trong Node.js, file I/O được cung cấp bởi wrapper xung quanh các hàm POSIX chuẩn. Module Node File System (fs) có thể được import bằng cách sử dụng cú pháp dưới đây:

var fs = require("fs")

Tìm hiểu File System (FS) trong Node.js

Đọc file FS trong Node.js

Mỗi phương thức trong module fs có các biểu mẫu đồng bộ và không đồng bộ. Các phương thức không đồng bộ lấy tham số cuối cùng làm hàm callback. Phương thức không đồng bộ được ưu tiên hơn phương thức đồng bộ vì phương thức này không bao giờ chặn việc thực thi chương trình, còn phương thức đồng bộ thì có.

Để dễ hình dung hơn, bạn đọc cùng tham khảo tiếp ví dụ dưới đây:

Tạo file text đặt tên là input.txt có chứa nội dung dưới đây:

Javatpoint is a one of the best online tutorial website to learn different technologies

in a very easy and efficient manner.

Hoặc ví dụ khác là tạo file JavaScript đặt tên là main.js có chứa đoạn mã dưới đây:

var fs = require("fs");

// Asynchronous read

fs.readFile('input.txt', function (err, data) {

if (err) {

return console.error(err);

}

console.log("Asynchronous read: " + data.toString());

});

// Synchronous read

var data = fs.readFileSync('input.txt');

console.log("Synchronous read: " + data.toString());

console.log("Program Ended");

Mở Node.js command prompt và chạy main.js:

node main.js

Mở file trong Node.js

Dưới đây là cú pháp để mở một file ở chế độ không đồng bộ:

fs.open(path, flags[, mode], callback)

Trong cú pháp trên:

- Path: Chuỗi này biểu diễn tên file và đường dẫn đến file.

- Flag: Flag biểu diễn hành vi của file được mở. Tất cả các giá trị có thể Taimienphi.vn sẽ trong bảng bên dưới đây.

- Mode: Thiết lập chế độ file, các chế độ này chỉ được thiết lập khi file đã được tạo. Giá trị mặc định là 0666, readable và writeable.

- Callback: Hàm callback nhận lại 2 đối số (err, fd).

Flag để đọc / ghi trong Node.js

Dưới đây là bảng danh sách các flag để đọc / ghi trong Node.js:

Ví dụ:

Tạo một file JavaScript đặt tên là main.js chứa đoạn mã dưới đây để mở file input.txt để đọc và ghi:

var fs = require("fs");

// Asynchronous - Opening File

console.log("Going to open file!");

fs.open('input.txt', 'r+', function(err, fd) {

if (err) {

return console.error(err);

}

console.log("File opened successfully!");

});

Mở Node.js command prompt và chạy main.js:

Phương thức lấy thông tin File trong Node.js

Sử dụng cú pháp dưới đây để lấy thông tin file trong Node.js:

fs.stat(path, callback)

Trong đó:

- Path: Đây là chuỗi tên file bao gồm đường dẫn.

- Callback: Hàm Callback để lấy 2 đối số (err, stats), trong đó đối số stats là đối tượng của .Stats.

Lớp fs.Stats trong Node.js

Để dễ hình dung hơn, bạn cùng tham khảo ví dụ dưới đây. Trước tiên tạo 1 file JavaScript đặt tên là main.js, chưa đoạn mã dưới đây:

var fs = require("fs");

 

console.log("Going to get file info!");

fs.stat('input.txt', function (err, stats) {

if (err) {

return console.error(err);

}

console.log(stats);

console.log("Got file info successfully!");

// Check file type

console.log("isFile ? " + stats.isFile());

console.log("isDirectory ? " + stats.isDirectory());

});

Mở Node.js command prompt và chạy main.js:

node main.js

Như vậy bài viết trên đây Taimienphi.vn vừa giới thiệu cho bạn về File System (FS) trong Node.js là gì? Ngoài ra bạn đọc có thể tham khảo thêm một số bài viết Học Node.js khác đã có trên Taimienphi.vn để tìm hiểu rõ hơn về Bufer hay Stream trong Node.js là gì nhé.

Trong các bài viết trước Taimienphi.vn đã giới thiệu cho bạn về Callback và NPM trong Node.js là gì. Bài viết dưới đây Taimienphi.vn sẽ giới thiệu tiếp cho bạn về File System (FS) trong Node.js là gì?
RESTful API trong Node.js là gì?
Tìm hiểu Event trong Node.js
Buffer trong node.js là gì?
Cách cài đặt Node.js trên UNIX/Linux/Mac OS X, và SunOS
Stream trong Node.js là gì?
Callback trong Node.js là gì?

ĐỌC NHIỀU