2016-08-18 2 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'). 길이가 완벽합니다. – lor1an

+1

@ lor1an 응답이 저에게 완벽하게 작동합니다. –

관련 문제