To combine Buffer
instances in Node.js, we can use the concat()
method in the Buffer
class.
Let's say we have 3 Buffer instances with 10 bytes of memory allocated like this,
// Buffer 1
const buff1 = Buffer.alloc(10);
// Buffer 2
const buff2 = Buffer.alloc(10);
// Buffer 3
const buff3 = Buffer.alloc(10);
Now we need to combine these buffers into a single buffer.
The
concat()
method requires 2 arguments, the first one being an array of buffer instances that we want to combine and the second argument being the total bytes of the combined buffer instances.To get the total bytes of a buffer instance we can use the
length
property available int the buffer instance.
// Buffer 1
const buff1 = Buffer.alloc(10);
// Buffer 2
const buff2 = Buffer.alloc(10);
// Buffer 3
const buff3 = Buffer.alloc(10);
// get the total bytes
const totalBytes = buff1.length + buff2.length + buff3.length;
Now let's combine these instances using the concat()
method to combine these buffers into a single buffer like this,
// Buffer 1
const buff1 = Buffer.alloc(10);
// Buffer 2
const buff2 = Buffer.alloc(10);
// Buffer 3
const buff3 = Buffer.alloc(10);
// get the total bytes
const totalBytes = buff1.length + buff2.length + buff3.length;
// pass buffers an an array as the first argument
// total bytes as the second argument
const resultBuffer = Buffer.concat([buff1, buff2, buff3], totalBytes);
- The
concat()
method returns a new combined buffer instance.