Hướng dẫn Cơ bản về Thao tác Hệ thống Tệp trong Node.js

Hướng dẫn Cơ bản về Thao tác Hệ thống Tệp trong Node.js

Một trong những tính năng tích hợp của Node.js là thao tác với hệ thống tệp của hệ điều hành bằng cách sử dụng mô-đun fs. Mô-đun Node.js này chứa nhiều chức năng hữu ích để làm việc với các tệp và thư mục.





Tệp được gọi đơn giản là các đối tượng hoặc khối dữ liệu tồn tại lâu dài thường được lưu trữ trên một phương tiện cứng được gọi là đĩa hoặc bộ nhớ. Tệp có nhiều loại khác nhau, từ tệp văn bản đến tệp hình ảnh, tệp âm thanh và nhiều loại khác.





LÀM VIDEO TRONG NGÀY

Vậy, hệ thống tệp là gì và làm thế nào bạn có thể dễ dàng tương tác với hệ thống tệp của hệ điều hành trong Node.js?





Hệ thống tệp là gì?

Hệ thống tệp xác định cách hệ điều hành có thể xác định, tổ chức, lưu trữ và truy cập tệp, cùng với các hoạt động khác.

Hệ thống tệp của một hệ điều hành cũng thực hiện công việc nhóm các tệp thành các tập hợp được gọi là thư mục hoặc thư mục. Các tệp và thư mục thông thường là những phần phổ biến nhất của hệ thống tệp thường được tương tác với nhiều người khác.



Một số ví dụ về hệ thống tệp bao gồm Hệ thống tệp công nghệ mới (NTFS), Hệ thống tệp UNIX (UFS) và Hệ thống tệp phân cấp (HFS).

Mô-đun Node.js fs là gì?

Node.js fs mô-đun là một thư viện tích hợp được cung cấp bởi Node.js để làm việc với hệ thống tệp của bất kỳ hệ điều hành nào hỗ trợ Node. Các fs mô-đun có thể dễ dàng truy cập và là thư viện truy cập cho các hoạt động tệp như đọc từ các tập tin hoặc ghi dữ liệu vào tệp trong Node.js .





Nó rất thường được sử dụng với đường dẫn bạn các mô-đun để thực hiện các thao tác khác nhau trên tệp. Để sử dụng fs trong các chương trình của bạn, bạn có thể nhập nó vào mã nguồn của mình như được hiển thị trong đoạn mã bên dưới.

// CommonJS 
const fs = require('fs')

// ES6
import fs from 'fs'

Mô-đun đường dẫn Node.js là gì?

Bạn có thể sử dụng Node.js đường dẫn mô-đun để thao tác đường dẫn tệp. Nó bao gồm các tiện ích để dễ dàng tương tác với các đường dẫn tệp và thư mục. Sử dụng fs đường dẫn các mô-đun song song để hoàn thành một nhiệm vụ là thực hành tiêu chuẩn. Điều này là do phần lớn fs chức năng mô-đun phụ thuộc vào đường dẫn đến tệp đích hoặc thư mục để hoạt động.





Bạn có thể nhập đường dẫn mô-đun vào mã của bạn với cú pháp bên dưới:

// CommonJS 
const path = require('path')

// ES6
import path from 'path'

Các chức năng phổ biến để truy cập hệ thống tệp trong Node.js

Đây là Node.js được sử dụng phổ biến nhất fs đường dẫn chức năng mô-đun và cách sử dụng chúng để tương tác với tệp và thư mục.

bạn có cần ps plus để chơi fortnite không

Làm việc với các đường dẫn

  1. path.resolve: Đây là hàm để phân giải một đường dẫn từ danh sách các lệnh đường dẫn được truyền dưới dạng tham số. Ví dụ:
    path.resolve('home', 'projects', 'web'); 
    // returns <path_to_current_directory>/home/projects/web

    path.resolve('home/projects/web', '../mobile');
    // returns <path_to_current_directory>/home/projects/mobile
  2. path.normalize: Các bình thường hóa hàm trả về đường dẫn chính xác và chuẩn hóa từ một đường dẫn đầu vào nhất định. Ví dụ:
    path.normalize('home/projects/web/../mobile/./code'); 
    // returns home/projects/mobile/code
  3. path.join: Hàm này xây dựng một đường dẫn từ một số phân đoạn. Ví dụ:
    path.join('home', 'projects', '../', 'movies'); 
    // returns home/movies
  4. path.basename: Các tên cơ sở hàm trả về đoạn đường dẫn cuối cùng. Bạn có thể sử dụng nó theo hai cách:
    path.basename('home/projects/web/index.js'); 
    // returns index.js

    path.basename('home/projects/web/index.js', '.js');
    // removes the extension and returns 'index'
  5. path.dirname: Hàm này trả về đường dẫn đến thư mục cuối cùng của một đường dẫn nhất định. Ví dụ:
    path.dirname('home/projects/web/index.js'); 
    // returns home/projects/web
  6. path.extname: Với chức năng này, bạn có thể lấy phần mở rộng của tệp từ một đường dẫn nhất định.
    path.extname('home/projects/web/index.js'); 
    // returns '.js'

Mở và đóng tệp

  1. fs.open: Đây là chức năng để mở hoặc tạo tệp đồng bộ trong Node.js. Hình thức đồng bộ của fs.open fs.openSync . fs.open a c chấp nhận bốn đối số là đường dẫn tệp, cờ, chế độ mở và hàm gọi lại. Cờ mở cách thức có giá trị mặc định và bạn có thể tìm hiểu thêm về chúng từ Node.js fs.open tài liệu hướng dẫn.
    const filePath = path.join(__dirname, '/videos/newVideo.mp4'); 
    // __dirname returns the path to the current working directory.
    // filePath = <path_to_current_directory>/videos/newVideo.mp4

    fs.open(filePath, (error, fileDescriptor) => {
    // handle errors
    console.log(fileDescriptor); // prints an integer representing the file descriptor
    })
  2. fs.close: Một thông lệ tốt là luôn đóng mọi tệp đang mở khi chúng không còn cần thiết nữa. Node.js có fs.close chức năng cho điều này:
    fs.open(filePath, (error, fileDescriptor) => { 
    // handle errors, such as 'file/directory does not exist'
    console.log(fileDescriptor);

    // close the file
    fs.close(fileDescriptor, (error) => {
    // handle errors
    console.log('File closed successfully');
    });
    })

Tạo và xóa

  1. fs.mkdir: Điều này hoạt động giống như mkdir lệnh đầu cuối tạo một thư mục mới. Nó lấy một đường dẫn, chế độ (tùy chọn) và hàm gọi lại làm tham số. Bạn có thể sử dụng nó như thế này:
    const dirPath = path.join(__dirname, 'newDirectory'); 
    fs.mkdir(dirPath, (error) => {
    // handle errors
    console.log('New directory created successfully');
    });
  2. fs.unlink: Hàm này loại bỏ hoặc xóa tệp tại đường dẫn được truyền vào dưới dạng đối số. Hãy xem xét ví dụ mã bên dưới:
    const filePath = path.join(_dirname, 'oldFile.js'); 

    fs.unlink(filePath, (error) => {
    // handle errors
    console.log('File has been deleted successfully');
    });
  3. fs.rmdir: Phương pháp này xóa thư mục tại một đường dẫn nhất định. Nó rất giống cách sử dụng với phương thức hủy liên kết:
    const dirPath = path.resolve('home', 'projects', 'web'); 

    fs.rmdir(dirPath, (error) => {
    // handle errors
    console.log('Directory successfully deleted');
    })

Siêu dữ liệu tệp

  1. fs.exists: Các tồn tại phương pháp kiểm tra xem tệp tại một đường dẫn nhất định có tồn tại hay không. Cách thực hiện như sau:
    let filePath = path.join(__dirname, 'index.html'); 

    fs.exists(filePath, (exists) => {
    console.log(exists) // true or false
    })
  2. fs.stat: Đây là một hàm đồng bộ trả về các thuộc tính của một tệp. Nó trả về một fs.Stats đối tượng hiển thị một số phương thức để truy cập các thuộc tính của tệp. Đây là một ví dụ:
    fs.stat('index.js', (error, stats) => { 
    console.log(stats); // prints low level properties of the file
    stats.isFile(); // returns true
    stats.isDirectory(); // returns false
    })