2016-08-18 59 views
6

我將文件作爲字節緩衝區獲取,並且無法使用fs.stat()方法。 所以我嘗試使用buf.length,但這個長度是指爲緩衝區對象分配的內存量,實際上並不是內容大小。 例如我有大小爲22,449字節的文件。 buf.length返回39804。如何知道nodejs中字節緩衝區內容的實際大小?

+0

使用節點6.10.0,buf.length給出了文件的確切字節大小。 – bob

回答

15

您需要byteLength

var buff = fs.readFileSync(__dirname + '/test.txt'); 
console.log(buff.byteLength); 

對於節點0.10.21你可以試試這個:

的console.log(buff.toString()的長度。);

+0

非常感謝!你知道如何使它適用於節點0.10.21? – lor1an

+1

謝謝,buf.toString('ascii')。length對我來說完美無缺 – lor1an

+1

@ lor1an答案對我來說完美無缺 –