2016-08-18 18 views
6

Otrzymuję pliki jako bufory bajtów i nie można użyć metody fs.stat(). Więc staram się używać buf.length, ale ta długość odnosi się do ilości pamięci przydzielonej dla obiektu bufora, a nie w rzeczywistości rozmiaru zawartości. Na przykład mam plik o rozmiarze 22.449 bajtów. zwraca buf.length dla 39804 dla niego.Jak poznać rzeczywisty rozmiar zawartości bufora bajtowego w nodejs?

+0

Użycie węzła 6.10.0, buf.length daje mi dokładny rozmiar bajtów pliku. – bob

Odpowiedz

15

Trzeba byteLength:

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

Na węźle 0.10.21 można spróbować to:

console.log (buff.toString() długość.);

+0

Dziękuję bardzo! Czy wiesz, jak to działa dla węzła 0.10.21? – lor1an

+1

Dzięki, buf.toString ("ascii"). Długość działa idealnie dla mnie – lor1an

+1

@ lor1an odpowiedź działa idealnie dla mnie –

Powiązane problemy