2012-04-18 66 views
4

我有以下代碼片段中的函數被調用多次爲不同的文件。createReadStream錯誤:「確定,打開」

var readStream = fs.createReadStream(file); 
readStream.on('error', function(err) { 
    console.log(err); 
}); 

定期,一些文件,但不是全部,將出現以下消息錯誤:

OK, open '{filename}' 

錯誤的確切數目並不總是相同的,但它的量大致相同。它並不總是相同的文件。我正在處理〜6500個文件並得到〜1150錯誤。

這個錯誤是什麼意思?我究竟做錯了什麼?

+0

OS,節點版本和更多的代碼可以幫助... – madflow 2012-04-18 15:16:59

+0

節點v0.6.15; Windows 7 – 2012-04-18 15:23:05

+5

我無法在我的Linux機器上重現此操作。但是:http://comments.gmane.org/gmane.comp.lang.javascript.nodejs/38045聽起來像是你的問題。在那裏它被討論是在Windows機器上的問題和同時打開的文件的限制。也許這有幫助。 – madflow 2012-04-18 18:54:02

回答

0

看看graceful-fs。這是一個節點模塊,通過一些附加功能將所有fs調用摘要化。在Windows系統中特別有用。

用法是死的簡單:

# Install 
$ npm install graceful-fs 

# Usage (in foo.js) 
var fs = require('graceful-fs');