EN
Node.js - write buffer into process.stdout using fs.writeSync() function (sync writing)
5 points
In this short article, we would like to show a simple way how to write data into process.stdout
using fs.writeSync()
function in Node.js.
Quick solution:
xxxxxxxxxx
1
const fs = require('fs'); // or: require('node:fs')
2
3
const buffer = Buffer.from("Some text ...");
4
const count = fs.writeSync(process.stdout.fd, buffer, 0, buffer.length);
Where:
buffer
contains bytes to write intoprocess.stdout
,writeSync()
writes allbuffer
bytes (starting from0
index inbuffer
),count
contains number of written bytes (it may be less thanbuffer.length
).
In this section you can find simple reusable function that lets to write exact number of bytes into process.stdout
.
Example index.js
file:
xxxxxxxxxx
1
const fs = require('fs'); // or: require('node:fs')
2
3
const writeBytes = (fd, buffer) => {
4
for (let i = 0; i < buffer.length;) {
5
i += fs.writeSync(fd, buffer, i, buffer.length - i);
6
}
7
// fs.fdatasyncSync(fd); // used only for some case (you can consider also: fs.fsyncSync())
8
};
9
10
11
// Usage example:
12
13
const buffer = Buffer.from('Some text ...');
14
15
writeBytes(process.stdout.fd, buffer); // writes buffer bytes to stdout
Running:
xxxxxxxxxx
1
node ./index.js
Output:
xxxxxxxxxx
1
Some text ...