我有以下代码
const buffer = new Buffer(buffer_size);
const wstream = fs.createWriteStream('testStream.ogg');
do{
read = obj1.partialDecrypt(buffer);
if(read>=0){
if(read<buffer_size){
wstream.write(buffer.slice(0,buffer_size));
}
else{
wstream.write(buffer);
}
}
total+=read;
}while(read>0);
wstream.end();
其中partialDecrypt用二进制数据填充缓冲区,并返回填充的大小。如果我多次填充缓冲区,则写入流的数据与预期不匹配。我应该做些什么来重用流上的相同缓冲区吗?
事实证明重用缓冲区不是一个好主意。就像在这个线程上一样,每次通过都要创建一个新的缓冲区。