对于一个编程练习,我需要从process.stdin
读取一个长字符串(超过10000个字符)。 (节点6.11.0,Win 10)
如果我使用process.stdin
或readline
,我会被限制在我可以输入的字符数的限制之内-命令提示符实际上在大约2700个字符后停止输入任何字符,直到我按Enter键为止。但要点是,它必须是一长行,且没有\ n个字符。
怎么做呢?
最佳答案
找到了答案,此代码有效:
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个字符。关于node.js - Node.js-如何从process.stdin中读取长字符串(超过10000个字符)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48991376/