写入流上的节点相同的缓冲区

时间:2016-05-05 16:56:06

标签: node.js stream buffer filestreams

我有以下代码

    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中用二进制数据填充缓冲区并返回填充的大小。 如果我多次填充缓冲区,则写入流的数据与预期的不匹配。我应该做些什么来在流上重用相同的缓冲区吗?

1 个答案:

答案 0 :(得分:1)

原来重用缓冲区并不是一个好主意。就像this thread一样,每次通过创建一个新缓冲区都是可行的方法。