Trong Node.js, I / O tệp được cung cấp bởi các trình bao bọc đơn giản xung quanh các chức năng POSIX tiêu chuẩn. Mô-đun Hệ thống Tệp Node (fs) có thể được nhập bằng cú pháp sau:
Các bài viết liên quan:
Cú pháp:
var fs = require("fs")
Node.js FS đọc File
Mọi phương thức trong mô-đun fs đều có dạng đồng bộ và không đồng bộ.
Các phương thức không đồng bộ nhận tham số cuối cùng làm hàm gọi lại hàm hoàn thành. Phương thức không đồng bộ được ưu tiên hơn phương thức đồng bộ vì nó không bao giờ chặn việc thực thi chương trình khi phương thức đồng bộ chặn.
Hãy lấy một ví dụ:
Tạo một tệp văn bản có tên “input.txt” có nội dung như sau.
File: input.txt
Chúng tôi là một trong những trang web hướng dẫn trực tuyến tốt nhất để tìm hiểu các công nghệ khác nhau một cách rất dễ dàng và hiệu quả.
Hãy lấy một ví dụ để tạo một tệp JavaScript có tên “main.js” có mã sau:
File: main.js
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ở dấu nhắc lệnh Node.js và chạy main.js:
node main.js
Node.js Open một file
Syntax:
Sau đây là cú pháp của phương thức để mở tệp ở chế độ không đồng bộ:
fs.open(path, flags[, mode], callback)
Parameter explanation:
Sau đây là mô tả các tham số được sử dụng trong cú pháp trên:
- path: Đây là một chuỗi có tên tệp bao gồm cả đường dẫn.
- flags: Cờ chỉ định hành vi của tệp sẽ được mở. Tất cả các giá trị có thể đã được đề cập bên dưới.
- mode: Chế độ này đặt chế độ tệp (quyền và các bit cố định), nhưng chỉ khi tệp đã được tạo. Nó mặc định là 0666, có thể đọc và ghi được.
- callback: Đây là hàm gọi lại nhận hai đối số (err, fd).
Node.js Flags for Read/Write
Sau đây là danh sách các cờ cho hoạt động đọc / ghi:
Flag | Description |
r | mở tệp để đọc. một ngoại lệ xảy ra nếu tệp không tồn tại. |
r + | mở tệp để đọc và ghi. một ngoại lệ xảy ra nếu tệp không tồn tại. |
rs | mở tệp để đọc ở chế độ đồng bộ. |
rs + | mở tệp để đọc và ghi, yêu cầu hệ điều hành mở nó đồng bộ. xem ghi chú cho ‘rs’ về việc sử dụng nó một cách thận trọng. |
w | mở tệp để viết. tệp được tạo (nếu nó không tồn tại) hoặc bị cắt bớt (nếu nó tồn tại). |
wx | như ‘w’ nhưng không thành công nếu đường dẫn tồn tại. |
w + | mở tệp để đọc và ghi. tệp được tạo (nếu nó không tồn tại) hoặc bị cắt bớt (nếu nó tồn tại). |
wx + | như ‘w +’ nhưng không thành công nếu đường dẫn tồn tại. |
a | mở tệp để bổ sung. tệp được tạo nếu nó không tồn tại. |
ax | như ‘a’ nhưng không thành công nếu đường dẫn tồn tại. |
a+ | mở tệp để đọc và bổ sung. tệp được tạo nếu nó không tồn tại. |
ax+ | mở tệp để đọc và bổ sung. tệp được tạo nếu nó không tồn tại. |
Tạo tệp JavaScript có tên “main.js” có mã sau để mở tệp input.txt để đọc và ghi.
File: main.js
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ở dấu nhắc lệnh Node.js và chạy main.js:
node main.js
Phương pháp thông tin tệp Node.js
Syntax:
Sau đây là cú pháp của phương thức để lấy thông tin tệp.
fs.stat(path, callback)
Parameter explanation:
- Path: Đây là chuỗi có tên tệp bao gồm cả đường dẫn.
- Callback: Đây là hàm gọi lại nhận hai đối số (err, stats) trong đó stats là một đối tượng của kiểu fs.Stats.
Node.js fs.Stats class Methods
Method | Description |
stats.isfile () | trả về true nếu loại tệp của một tệp đơn giản. |
stats.isdirectory () | trả về true nếu loại tệp của một thư mục. |
stats.isblockdevice () | trả về true nếu loại tệp của thiết bị khối. |
stats.ischaracterdevice () | trả về true nếu loại tệp của thiết bị ký tự. |
stats.issymboliclink () | trả về true nếu loại tệp của một liên kết tượng trưng. |
stats.isfifo () | trả về giá trị true nếu loại tệp của một loại ngũ cốc. |
stats.issocket () | trả về true nếu loại tệp asocket. |
Hãy lấy một ví dụ để tạo một tệp JavaScript có tên là main.js có mã sau:
File: main.js
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()); });
Bây giờ hãy mở dấu nhắc lệnh Node.js và chạy main.js
node main.js