Bây giờ tôi sử dụng
fs.openSync(filepath, 'a')
Nhưng nó hơi khó. Có cách nào 'tiêu chuẩn' để tạo tệp trống trong Node.js không?
Bây giờ tôi sử dụng
fs.openSync(filepath, 'a')
Nhưng nó hơi khó. Có cách nào 'tiêu chuẩn' để tạo tệp trống trong Node.js không?
Câu trả lời:
Nếu bạn muốn buộc tệp trống thì bạn muốn sử dụng 'w'
cờ thay thế:
var fd = fs.openSync(filepath, 'w');
Điều đó sẽ cắt ngắn tệp nếu nó tồn tại và tạo nó nếu không.
Kết hợp nó trong một fs.closeSync
cuộc gọi nếu bạn không cần bộ mô tả tệp, nó sẽ trả về.
fs.closeSync(fs.openSync(filepath, 'w'));
w
cờ nodejs.org/api/fs.html#fs_file_system_flags
mkdir
?? cảm ơn
Đây là cách không đồng bộ, sử dụng "wx"
như vậy không thành công trên các tệp hiện có.
var fs = require("fs");
fs.open(path, "wx", function (err, fd) {
// handle error
fs.close(fd, function (err) {
// handle error
});
});
Nếu bạn muốn nó giống như UNIX touch, tôi sẽ sử dụng những gì bạn có, fs.openSync(filepath, 'a')
nếu không, 'w' sẽ ghi đè lên tệp nếu nó đã tồn tại và 'wx' sẽ không thành công nếu nó đã tồn tại. Nhưng bạn muốn cập nhật mtime của tệp, vì vậy hãy sử dụng 'a' và không thêm gì.
https://github.com/isaacs/node-touch sẽ thực hiện công việc và giống như công cụ UNIX mà nó mô phỏng, sẽ không ghi đè lên tệp hiện có.
node-touch
lợi thế nào khác fs.closeSync(fs.openSync(filepath, 'a'));
ngoài việc cập nhật dấu thời gian cho các tệp hiện có không?