2015-02-18 2 views
1

Мне нужно проверить, открыт ли файл, прежде чем копировать его в другое место. Нижеприведенный код сообщает, если он открыт с кодом ошибки = EBUSY. Но если файл не открыт, он стирает содержимое файла. Есть ли лучший способ достичь этой информации.Узел js проверяет, открыт ли файл перед копией

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

    }); 
+0

Один пункт - почему не используется fs-дополнительный модуль для node.js - https://www.npmjs.com/package/fs-extra? –

+0

также вы можете получить помощь - http://stackoverflow.com/questions/11293857/fastest-way-to-copy-file-in-node-js –

+0

@PiyasDe Я не знал о fs-extra, но я проверю это из. Благодарю. –

ответ

2

Она смотрит на меня, как вы можете использовать r+:

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

}); 

fs Из модуля документации:

'R +' - Открыть файл для чтения и записи. Исключение возникает, если файл не существует.

Если файл уже открыт кем-то другим, то он не должен предоставлять вам разрешение на чтение и запись и должен возвращать ошибку. Это не создаст файл, если он не существует.

Опция r+ не обрезает или не создает файл, как опция w+.

+0

Это сработало. Спасибо. –

Смежные вопросы