我正在寻找一个文本文件与节点使用命令行调用像:
节点app.js< input.txt 文件的每一行都需要单独处理,但一旦处理,输入行可能会被遗忘。 使用stdin的数据监听器,我得到输入蒸汽块字节大小,所以我设置了。
process.stdin.resume(); process.stdin.setEncoding('utf8'); var lingeringLine = ""; process.stdin.on('data',function(chunk) { lines = chunk.split("\n"); lines[0] = lingeringLine + lines[0]; lingeringLine = lines.pop(); lines.forEach(processLine); }); process.stdin.on('end',function() { processLine(lingeringLine); });
但这似乎很草率。不得不按摩拳头和最后的项目的线阵列。有没有更优雅的方式来做到这一点?
解决方法
您可以使用
readline模块逐行读取stdin:
var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin,output: process.stdout,terminal: false }); rl.on('line',function(line){ console.log(line); })
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。