对于一个编程练习,我需要从process.stdin读取一个长字符串(超过10000个字符)。 (节点6.11.0,Win 10)

如果我使用process.stdinreadline,我会被限制在我可以输入的字符数的限制之内-命令提示符实际上在大约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/

10-11 23:08
查看更多