Làm cách nào để xóa tệp trong Node.js bằng cách sử dụng fs.unlink?

Lam Cach Nao De Xoa Tep Trong Node Js Bang Cach Su Dung Fs Unlink



Hệ thống tập tin “ fs ” mô-đun cung cấp nhiều phương thức khác nhau để có thể thực hiện dễ dàng các thao tác cơ bản như đọc, lưu tệp, xóa, nối thêm và các thao tác liên quan khác. Tuy nhiên, thao tác xóa chủ yếu được các nhà phát triển thực hiện hàng ngày. Thao tác xóa này có thể được thực hiện trực tiếp bằng giao diện GUI hoặc bằng cách sử dụng “ fs ” Phương thức mô-đun có tên “ hủy liên kết() ”.

Hướng dẫn này giải thích quy trình xóa tệp trong Node.js với sự trợ giúp của “fs.unlink()” bằng cách giải thích các phần bên dưới:

Cách xóa tệp bằng phương pháp “fs.unlink()”

Các ' fs.unlink() ” là một phương thức đồng bộ hoặc chặn vì nó dừng việc thực thi tất cả các quy trình khác cho đến khi tệp được chỉ định bị xóa hoàn toàn. Cái này ' fs.unlink() ” cũng có thể được sử dụng để xóa “ tượng trưng ” liên kết trỏ đến hệ thống tập tin được nhắm mục tiêu.







Cú pháp



Các ' fs.unlink() ” Cú pháp phương thức được hiển thị bên dưới:



fsObj. hủy liên kết ( filePath, gọi lạiFunc )

Trong cú pháp trên:





  • Các ' fsObj ” là biến đóng vai trò là đối tượng của “ fs ” mô-đun.
  • Các ' đường dẫn tập tin ” là đường dẫn của tệp nằm trong thư mục dự án cần xóa.
  • Các ' gọi lạiFunc ” là chức năng mũi tên bắt buộc giúp hiển thị thông báo kết quả hoặc lỗi phát sinh trong quá trình xử lý.

Hãy cùng xem qua một số ví dụ để triển khai thực tế phương thức “fs.unlink()”.

Ví dụ 1: Sử dụng phương thức “fs.unlink()” để xóa tệp

Trong ví dụ này, một tệp dự án ngẫu nhiên sẽ bị xóa hoặc xóa khỏi tệp khỏi thư mục dự án bằng cách sử dụng lệnh “ fs.unlink() ' phương pháp. Việc triển khai thực tế của nó được hiển thị trong khối mã bên dưới:



đã bị xóaFile = yêu cầu ( 'fs' ) ;

xóa tài liệu. hủy liên kết ( 'linuxhintFile.txt' , chức năng ( lỗi ) {

nếu như ( lỗi ) ném lỗi ;

bảng điều khiển. nhật ký ( 'Thao tác xóa tập tin được thực hiện thành công!' ) ;

} ) ;

bảng điều khiển. nhật ký ( 'Thao tác xóa đã kết thúc!' ) ;

Trong khối mã trên:

  • Đầu tiên ' fs ” mô-đun đã được nhập và đối tượng của nó được lưu trữ trong một biến mới có tên “ xóa tài liệu ”.
  • Sau đó, “ hủy liên kết() ” Phương thức này được gọi bằng cách sử dụng biến và tên tệp cần xóa sẽ được chuyển làm tham số đầu tiên.
  • Chức năng gọi lại thứ hai của nó cũng được sử dụng để phát hiện và hiển thị mọi lỗi xảy ra trong quá trình hoàn tất thao tác.
  • Trường hợp không có lỗi thì hiển thị thông báo thành công. Để xác nhận hành vi không đồng bộ của phương pháp này, hãy viết mã hiển thị thông báo giả bên ngoài “ hủy liên kết() ” phạm vi phương pháp.

Lưu trữ mã trên vào một tệp mong muốn có phần mở rộng là “ .js ” đó là “ proApp.js ” trong trường hợp của chúng tôi và chạy lệnh bên dưới để thực hiện:

nút proApp. js

Đầu ra được tạo cho thấy tệp được chọn đã bị xóa khỏi thư mục dự án. Ngoài ra, hành vi không đồng bộ của phương thức này được xác nhận vì thông báo được viết sau phương thức này được thực thi trước:

Ví dụ 2: Sử dụng phương pháp “fs.unlink()” để xóa liên kết tượng trưng

Các ' tượng trưng ” liên kết không tồn tại vật lý trong tệp nhưng chúng chứa đường dẫn tương đối hoặc tuyệt đối làm tham chiếu cho các tệp đính kèm khác. Việc sử dụng nó có thể tăng hiệu suất của ứng dụng trong khi tiêu tốn ít dung lượng hơn. Liên kết tượng trưng này được tạo ra với sự trợ giúp của “ fs.symlinkSync() ' hoặc ' fs.symlinkSync() ” và để xóa “ fs.unlink() ” được sử dụng, như hiển thị bên dưới:

hằng số fsObj = yêu cầu ( 'fs' ) ;

// Thiết lập liên kết tượng trưng
fsObj. liên kết tượng trưngĐồng bộ hóa ( __tên dir + ' \\ chỉ mục.html' , 'Tệp tượng trưng' ) ;
bảng điều khiển. nhật ký ( ' \N Đã thiết lập liên kết tượng trưng tới tệp index.html' ) ;

lấy lại tập tin ( ) ;

fsObj. hủy liên kết ( 'Tệp tượng trưng' , ( lỗi => {
nếu như ( lỗi ) bảng điều khiển. nhật ký ( lỗi ) ;
khác {
bảng điều khiển. nhật ký ( ' \N Đã xóa liên kết được thiết lập: SymbolicFile' ) ;
// Lấy các file trong thư mục hiện tại sau khi xóa
lấy lại tập tin ( ) ;
}
}
) ) ;

// Hàm lấy tên file hiện tại trong một thư mục có phần mở rộng cụ thể
chức năng truy xuấtFiles ( ) {
bảng điều khiển. nhật ký ( ' \N Các tệp có sẵn trong dự án hiện tại:' ) ;
để tài sản = fsObj. readdirSync ( __tên dir ) ;
tài sản. cho mỗi ( tài sản => {
bảng điều khiển. nhật ký ( tài sản ) ;
} ) ;
}

Giải thích về khối mã trên như sau:

  • Nhập khẩu “ fs ” mô-đun và lưu trữ đối tượng của nó trong “ fsObj ” biến được đặt tên.
  • Tạo một liên kết tượng trưng đến tệp dự án hiện tại có tên “ chỉ mục.html ” và gán tên “ biểu tượngFile ” vào tệp liên kết tượng trưng đã tạo. Các ' __tên dir Thuộc tính ” được sử dụng để truy xuất đường dẫn tuyệt đối cho thư mục dự án hiện tại.
  • Với sự giúp đỡ của “ console.log() ” phương thức hiển thị thông báo thành công và gọi phương thức “ được xác định tùy chỉnh lấy lạiFiles() ' chức năng.
  • Bây giờ, hãy gọi “ hủy liên kết() ” phương pháp thông qua “ fsObj ” và chuyển tên tệp tượng trưng làm tham số đầu tiên cần xóa. Phương pháp này yêu cầu hàm gọi lại được sử dụng để phát hiện và hiển thị mọi lỗi phát sinh.
  • Hiển thị thông báo xóa và gọi lại “ lấy lạiFiles() ” hoạt động nếu không có lỗi.
  • Sau đó, xác định một “ lấy lạiFiles() ” đọc các thư mục dự án hiện tại bằng cách sử dụng lệnh “ readdirSync() ' chức năng. Cuối cùng, tất cả các thư mục cư trú được hiển thị trên bảng điều khiển bằng cách sử dụng “ cho mỗi ' vòng.

Bây giờ, hãy chạy đoạn mã trên bằng cách thực thi lệnh chứa “ .js ” gõ tập tin. Tệp chứa trong trường hợp của chúng tôi là “ proApp.js Vì vậy, lệnh thực thi của chúng ta sẽ là:

nút proApp. js

Đầu ra được tạo cho thấy liên kết tượng trưng đã được thiết lập và sau đó bị xóa thông qua “ fs.unlink() ' phương pháp:

Mẹo bổ sung: Phương thức “fs.unlinkSync()” là gì?

Các ' hủy liên kếtSync() ” Phương pháp này cũng được cung cấp bởi “ fs ” mô-đun; nó là ' đồng bộ “ phiên bản của “ hủy liên kết() ' phương pháp. Các ' hủy liên kếtSync() Phương thức ” có thể được sử dụng để thực hiện các thao tác tương tự như xóa một tệp hoặc các tệp tượng trưng nhưng theo cách Đồng bộ. Nó chặn tất cả các quá trình khắc phục cho đến khi tệp được nhắm mục tiêu không bị xóa, như hiển thị bên dưới:

đã bị xóaFile = yêu cầu ( 'fs' ) ;

xóa tài liệu. hủy liên kếtĐồng bộ hóa ( 'linuxhintFile.txt' ) ;

bảng điều khiển. nhật ký ( 'Thao tác xóa đã kết thúc!' ) ;

Trong khối mã trên:

  • Đầu tiên ' fs ” mô-đun đã được nhập và đối tượng của nó được lưu trữ trong một biến mới có tên “ xóa tài liệu ”.
  • Sau đó, “ hủy liên kếtSync() Phương thức ” được gọi bằng cách sử dụng “ xóa tài liệu Biến ” và tên tệp cần xóa sẽ được chuyển làm tham số của nó.
  • Để xác nhận “ đồng bộ ” của phương pháp này, hãy viết mã hiển thị thông báo giả bên cạnh “ hủy liên kếtSync() ' phương pháp.

Lưu trữ mã trên vào một tệp mong muốn có phần mở rộng là “ .js ” đó là “ proApp.js ” trong trường hợp của chúng tôi và chạy lệnh bên dưới để thực hiện:

Đó là tất cả về việc xóa các tệp trong Node.js bằng phương thức “fs.unlink()”.

Phần kết luận

Để xóa các tệp trong Node.js, hãy chuyển đường dẫn tệp được nhắm mục tiêu làm hàm đầu tiên và hàm gọi lại để xử lý lỗi cũng như thực hiện các nội dung khác làm tham số thứ hai cho “ hủy liên kết() ' phương pháp. Các ' hủy liên kết() ” Phương thức này cũng được sử dụng để xóa các tệp được liên kết tượng trưng. Phương thức này có phiên bản đồng bộ cũng được đặt tên là “ hủy liên kếtSync() ” phương thức hoạt động tương tự như “ hủy liên kết() ”, nhưng nó không bao gồm phương thức “ gọi lại “phần chức năng. Hướng dẫn này đã giải thích quy trình xóa tệp thông qua nút “ fs.unlink() ' phương pháp.