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 sau đây:
var fs = require('fs')
Khám phá File System (FS) trong Node.js
Đọc file trong 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 ví dụ sau đây:
Tạo một file văn bản có tên là input.txt với nội dung sau:
Javatpoint là một trong những trang web hướng dẫn trực tuyến tốt nhất để học các công nghệ khác nhau
một cách dễ dàng và hiệu quả.
Hoặc một ví dụ khác là tạo file JavaScript có tên là main.js với đoạn mã sau:
var fs = require('fs');
// Đọc bất đồng bộ
fs.readFile('input.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log('Đọc không đồng bộ: ' + data.toString());
});
// Đọc đồng bộ
var data = fs.readFileSync('input.txt');
console.log('Đọc đồng bộ: ' + data.toString());
console.log('Chương trình đã kết thúc');
Chạy lệnh Node.js command prompt và mở file main.js:
node main.js
Mở tập tin trong Node.js
Dưới đây là cú pháp để mở một tập tin ở chế độ không đồng bộ:
fs.open(lộ_trình, cờ[, chế_độ], callback)
Trong cú pháp trên:
- Lộ trình: Chuỗi này biểu diễn tên tập tin và đường dẫn đến tập tin.
- Cờ: Cờ biểu diễn hành vi của tập tin được mở. Tất cả các giá trị có thể Mytour sẽ trong bảng bên dưới đây.
- Chế độ: Thiết lập chế độ tập tin, các chế độ này chỉ được thiết lập khi tập tin đã được tạo. Giá trị mặc định là 0666, có thể đọc và ghi được.
- Callback: Hàm callback nhận lại 2 đối số (err, fd).
Cờ để đọc / ghi trong Node.js
Dưới đây là bảng danh sách các cờ để đọc / ghi trong Node.js:
Ví dụ:
Tạo một tập tin JavaScript có tên là main.js chứa mã sau để mở tập tin input.txt để đọc và ghi:
var fs = require('fs');
// Mở tập tin bất đồng bộ
console.log('Sẽ mở tập tin!');
fs.open('input.txt', 'r+', function(err, fd) {
nếu (err) {
return console.error(err);
}
console.log('Tập tin được mở thành công!');
});
Chạy main.js trong Node.js command prompt:
Lấy Thông Tin Tập Tin Trong Node.js
Sử dụng cú pháp sau để lấy thông tin tập tin trong Node.js:
fs.stat(path, callback)
Trong đó:
- Đường Dẫn: Đây là chuỗi tên file kèm đường dẫn.
- Hàm Callback: Hàm Callback nhận 2 đối số (err, stats), trong đó stats là đối tượng của .Stats.
Lớp fs.Stats trong Node.js
Để dễ hình dung hơn, bạn có thể tham khảo ví dụ sau. Trước tiên, tạo một file JavaScript có tên là main.js, và chứa đoạn mã sau:
var fs = require('fs');
console.log('Sắp lấy thông tin của tập tin!');
fs.stat('input.txt', function (err, stats) {
if (err) {
return console.error(err);
}
console.log(stats);
console.log('Đã lấy thông tin của tập tin thành công!');
// Kiểm tra loại tập tin
console.log('Là tập tin ? ' + stats.isFile());
console.log('Là thư mục ? ' + stats.isDirectory());
});
Mở Node.js command prompt và chạy main.js:
node main.js
Trong bài viết này, Mytour đã giới thiệu về File System (FS) trong Node.js là gì? Bạn đọc có thể tham khảo thêm một số bài viết Học Node.js khác trên Mytour để hiểu rõ hơn về Buffer và Stream trong Node.js.