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

在复制到另一个位置之前,我需要检查一个文件是否打开。下面的代码告诉它是否打开了一个错误代码= EBUSY。 但是,如果文件没有打开,则会擦除文件的内容。 有没有更好的方式来实现这一信息。

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

它看起来像我可以使用r+

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

fs模块文档:

'r +' – 打开文件进行阅读和写作。 如果该文件不存在,则会发生exception。

如果文件已被其他人打开,那么它不应该授予您读写权限,并且应该返回一个错误。 这不会创build文件,如果不存在。

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