Tôi muốn xóa nội dung của tệp văn bản đơn giản với node.js. Hoặc thay thế tệp bằng tệp mới/trống.Node.js/Xóa nội dung trong tệp
Làm cách nào để đạt được điều này trong nút?
Tôi muốn xóa nội dung của tệp văn bản đơn giản với node.js. Hoặc thay thế tệp bằng tệp mới/trống.Node.js/Xóa nội dung trong tệp
Làm cách nào để đạt được điều này trong nút?
Bạn đang tìm kiếm fs.truncate
hoặc fs.writeFile
Một trong những điều sau đây sẽ làm việc:
var fs = require('fs')
fs.truncate('/path/to/file', 0, function(){console.log('done')})
hoặc
var fs = require('fs')
fs.writeFile('/path/to/file', '', function(){console.log('done')})
Cũng synchronous versions của both functions rằng bạn không nên sử dụng là.
+1 để không xóa tệp và ghi vào cùng một tệp! – ChrisCM
Bạn có thể giải thích lý do tại sao các phiên bản đồng bộ là không mong muốn? –
Chắc chắn! Lý do chính là nút đó là đơn luồng (cho hầu hết các phần), vì vậy nếu bạn thực hiện các thao tác đồng bộ tốn kém, bạn sẽ chặn thực thi cho toàn bộ quá trình của mình. – Andbdrew
là cuộc gọi bạn cần xóa tệp. Để thay thế nó bằng các nội dung khác nhau, chỉ cần ghi đè lên nó với fs.writeFile
.
Từ tài liệu về nút cho fs.writeFile: Ghi dữ liệu vào một tệp không đồng bộ, thay thế tệp nếu nó đã tồn tại. Bước hủy liên kết của bạn là không cần thiết. – ChrisCM
@ChrisCM Tôi chỉ trả lời cả hai phần của câu hỏi. –
Bạn đã xem ở đây chưa? http://nodejs.org/api/fs.html – Dan455
bị bỏ qua vì thiếu nghiên cứu –
Đây không phải là hành vi mặc định của fs.writeFile, nếu bạn không cung cấp cờ ??? Nó thực sự khó khăn hơn để nối thêm vào một tập tin ... – ChrisCM