节点js在复制前检查文件是否打开

2022-05-31 00:00:00 node.js javascript fs
在将文件复制到另一个位置之前,我需要检查该文件是否已打开。下面的代码告知文件是否已打开,并显示错误代码=EBUSY。但如果该文件未打开,则会删除该文件的内容。有没有更好的方法来获取这些信息。

    fs.open('my-file.dwg','w', function(err,data) {

    });

解决方案

在我看来您可以使用r+

fs.open('my-file.dwg','r+', function(err,data) {

});

来自fs模块文档:

‘r+’-打开文件以进行读写。如果出现以下情况,则发生异常 文件不存在。

如果文件已被其他人打开,则不应授予您读写权限,并应返回错误。如果该文件不存在,则不会创建该文件。

r+选项不会像w+选项那样截断或创建文件。

相关文章