对于一个编程练习,我需要从process.stdin
读取一个长字符串(超过10000个字符)。 (节点6.11.0,赢10)
如果我使用process.stdin
或readline
,我会陷入我实际可以输入的字符数限制 - 命令提示符实际上会在大约2700个字符后停止接收任何输入,直到我按Enter键。但重点是它必须是一个长行,没有\ n字符。
这样做的方法是什么?
答案 0 :(得分:1)
找到答案,此代码有效:
let readline = require('readline');
let rl = readline.createInterface({
input: process.stdin,
terminal: true
});
function readLine (line) {
//process your line, which could be very very long
}
rl.on('line', readLine);
诀窍是使用terminal: true
。当您使用它时,您无法在键入时看到您的输入,但它可以使用readLine
功能,并且可能会很长。如果您使用terminal:false
,那么您可以看到您输入的内容,但输入限制为大约2.700个字符。