Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要一种方法将最后写入流的0xFFF字节存储在某种缓冲区中_Javascript_Node.js - Fatal编程技术网

Javascript 我需要一种方法将最后写入流的0xFFF字节存储在某种缓冲区中

Javascript 我需要一种方法将最后写入流的0xFFF字节存储在某种缓冲区中,javascript,node.js,Javascript,Node.js,我正在Node.JS中使用streams制作一个解压缩例程,但我需要将写入流的最后0xFFF字节保存在临时缓冲区中 我有一些可以工作的代码,但它看起来效率很低,Node.js对象是否有类似的代码 也许是一个你想要的内容长度的环形缓冲区?这样,当流结束时,缓冲区将具有您想要的数据量,并且不会存储整个流?我正在寻找的是环形缓冲区吗?我知道我需要什么,但不知道它叫什么。我当前将整个解压缩数据分配到一个缓冲区对象中,例如,当前使用Buffer[Buffer.length-1]来获取写入的最后一个字节。我

我正在Node.JS中使用streams制作一个解压缩例程,但我需要将写入流的最后0xFFF字节保存在临时缓冲区中

我有一些可以工作的代码,但它看起来效率很低,Node.js对象是否有类似的代码


也许是一个你想要的内容长度的环形缓冲区?这样,当流结束时,缓冲区将具有您想要的数据量,并且不会存储整个流?我正在寻找的是环形缓冲区吗?我知道我需要什么,但不知道它叫什么。我当前将整个解压缩数据分配到一个缓冲区对象中,例如,当前使用Buffer[Buffer.length-1]来获取写入的最后一个字节。我需要的字节可以是缓冲区中的任何地方,这只是一个例子。你的问题是流的最后4095字节。如何确定需要哪些字节?基于许多变量,我计算从缓冲区末端到输出的位移,可能是一个环形缓冲区,它是您想要的内容的长度?这样,当流结束时,缓冲区将具有您想要的数据量,并且不会存储整个流?我正在寻找的是环形缓冲区吗?我知道我需要什么,但不知道它叫什么。我当前将整个解压缩数据分配到一个缓冲区对象中,例如,当前使用Buffer[Buffer.length-1]来获取写入的最后一个字节。我需要的字节可以是缓冲区中的任何地方,这只是一个例子。你的问题是流的最后4095字节。如何确定需要哪些字节?基于许多变量,我计算从缓冲区末端到输出的位移
var arr = Array(0xFFF) // allocate an array to use as a buffer

function writeByte(byte, stream){
  arr.shift() // remove the first byte in the buffer
  arr.push(byte) // push the new byte onto the end

  stream.write([byte]) // send the byte to the stream
}