Kết nối

[Node.js] Phần 5: Module File System trong Node.js

5.074 lượt xem 
 Cập nhật lần cuối: 09/07/2017 lúc 16:14:11
Thể loại: Node.js, Thiết kế Web 

Node.js đóng vai trò là 1 File Server (máy chủ tập tin). Module File System (hệ thống tập tin) trong Node.js cho phép bạn tương tác với các tập tin trên máy tính của bạn. Để nhúng module File System, bạn cũng chỉ cần dùng phương thức require().

// fs là biến có kiểu không xác định (var) cho phép Node.js tự gán kiểu ngầm định cho biến này
var fs = require('fs');

Các tính năng thường dùng với module File System đó là: đọc tập tin, tạo tập tin, cập nhật tập tin, xóa tập tin, và đổi tên tập tin.

Đọc tập tin
Phương thức fs.readFile() dùng để đọc nội dung các tập tin từ máy tính. Ví dụ chúng ta có tập tin demo_dammio.html nằm cùng thư mục với Node.js.

Nội dung demo_dammio.html

<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>

Tiếp theo bạn tạo tập tin NodeJS để đọc nội dung tập tin demo_dammio.html phía trên và hiển thị ra màn hình.

Nội dung tập tin demo_dammio_readfile.js

var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('demo_dammio.html', function(err, data) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write(data);
    res.end();
  });
}).listen(8080);

Bạn cũng thực thi lệnh cmd cho tập tin NodeJS vừa tạo:

C:\Users\Your Name>node demo_dammio_readfile.js

Mở trình duyệt, chạy đường dẫn http://localhost:8080 để xem kết quả.

Tạo tập tin
Module File System chứa các phương thức để tạo các tập tin mới như:

  • fs.appendFile(): chèn nội dung vào tập tin
  • fs.open(): mở tập tin
  • fs.writeFile(): viết nội dung vào tập tin

Phương thức fs.appendFile() chèn nội dung nào đó vào tập tin. Nếu tập tin đó không tồn tại, thì tập tin sẽ được tạo mới. Ví dụ tạo 1 tập tin mới dùng phương thức appendFile() với nội dung “Hello Dammio!“.

var fs = require('fs');

fs.appendFile('dammionewfile.txt', 'Hello Dammio!', function (err) {
  if (err) throw err;
  console.log('Saved!'); 
});

Phương thức fs.open() chứa 1 “cờ” (flag) như là tham số thứ 2, nếu cờ có giá trị “w” nghĩa là “writing” (đang viết), khi đó tập tin đã được mở ra để viết nội dung vào. Nếu tập tin chưa tồn tại, một tập tin trống được tạo. Ví dụ tạo một tập tin mới, trống dùng phương thức open().

var fs = require('fs');

fs.open('dammionewfile2.txt', 'w', function (err, file) {
  if (err) throw err;
  console.log('Saved!'); 
});

Phương thức fs.writeFile() dùng để thay thế tập tin và nội dung của nó nếu tập tin đó tồn tại. Nếu tập tin không tồn tại thì tập tin mới sẽ được tạo. Ví dụ tạo mới tập tin dùng phương thức writeFile().

var fs = require('fs');

fs.writeFile('dammionewfile3.txt', 'Hello Dammio!', function (err) {
  if (err) throw err;
  console.log('Saved!');
});

Cập nhật tập tin
Module File System chứa các phương thức để cập nhật các tập tin.

  • fs.appendFile()
  • fs.writeFile()
Liên quan:  [Node.js] Phần 12: Tạo cơ sở dữ liệu mới

Phương thức fs.appendFile() dùng để chèn nội dung vào cuối tập tin. Ví dụ thêm dòng chữ “Lập trình NodeJS” vào cuối tập tin “dammionewfile.txt4”.

var fs = require('fs');

fs.appendFile('dammionewfile4.txt', ' Day la noi dung can chen.', function (err) {
  if (err) throw err;
  console.log('Updated!');
});

Phương thức fs.writeFile() thay thế tập tin và nội dung của nó. Ví dụ thay thế nội dung tập tin “dammionewfile5.txt”.

var fs = require('fs');

fs.writeFile('dammionewfile5.txt', 'This is my text', function (err) {
  if (err) throw err;
  console.log('Replaced!');
});

Xóa tập tin
Để xóa 1 tập tin với module File System, sử dụng phương thức fs.unlink(). Ví dụ xóa tập tin “dammionewfile6.txt”. Lưu ý tập tin phải tồn tại mới xóa được.

var fs = require('fs');

fs.unlink('dammionewfile6.txt', function (err) {
  if (err) throw err;
  console.log('File deleted!');
});

Đổi tên tập tin
Để đổi tên 1 tập tin với module File System, dùng phương thức fs.rename(). Phương thức fs.rename() đổi tên của 1 tập tin nào đó. Ví dụ đổi tên tập tin “dammionewfile7.txt” thành “dammionewfile8.txt”.

var fs = require('fs');

fs.rename('dammionewfile7.txt', 'dammionewfile8.txt', function (err) {
  if (err) throw err;
  console.log('File Renamed!');
});

Ngoài ra, bạn cũng có thể upload 1 tập tin nào đó lên máy tính. Phần này sẽ được trình bày ở nội dung tiếp theo.

Kết luận: Node.js chứa module File System dùng để thao tác với các tập tin trên máy của bạn. Bài viết đã trình bày các ví dụ cơ bản giúp bạn có thể làm việc với các tập tin trong Node.js.

Trích dẫn bài viết
  • APA:
    Dammio. (2017). [Node.js] Phần 5: Module File System trong Node.js. https://www.dammio.com/2017/07/06/node-js-phan-5-module-file-system-trong-node-js.
  • BibTeX:
    @misc{dammio,
    author = {Dammio},
    title = {[Node.js] Phần 5: Module File System trong Node.js},
    year = {2017},
    url = {https://www.dammio.com/2017/07/06/node-js-phan-5-module-file-system-trong-node-js},
    urldate = {2024-10-29}
    }
Theo dõi
Thông báo của
guest
2 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
2
0
Rất thích suy nghĩ của bạn, hãy bình luận.x