节点js在复制前检查文件是否打开
在将文件复制到另一个位置之前,我需要检查该文件是否已打开。下面的代码告知文件是否已打开,并显示错误代码=EBUSY。但如果该文件未打开,则会删除该文件的内容。有没有更好的方法来获取这些信息。
fs.open('my-file.dwg','w', function(err,data) {
});
解决方案
在我看来您可以使用r+
:
fs.open('my-file.dwg','r+', function(err,data) {
});
来自fs
模块文档:
如果文件已被其他人打开,则不应授予您读写权限,并应返回错误。如果该文件不存在,则不会创建该文件。‘r+’-打开文件以进行读写。如果出现以下情况,则发生异常 文件不存在。
r+
选项不会像w+
选项那样截断或创建文件。
相关文章