在Windows中同步读取stdin

时间:2011-12-09 23:23:17

标签: windows node.js stdin synchronous

我一直这样做是为了在Linux下同步读取整个stdin数据:

var buffer = fs.readFileSync('/dev/stdin');

这显然无法在Windows上运行,因为没有/ dev / stdin文件。我能做些什么来实现同样的目标?

2 个答案:

答案 0 :(得分:10)

var size = fs.fstatSync(process.stdin.fd).size;
var buffer = size > 0 ? fs.readSync(process.stdin.fd, size)[0] : '';

答案 1 :(得分:3)

模块readline-sync可以很好地完成工作。

npm install readline-sync

然后:

var readlineSync = require('readline-sync');
var answer = readlineSync.question('What is your favorite food? :');
console.log('Oh, so your favorite food is ' + answer);

https://www.npmjs.com/package/readline-sync