【问题标题】:Node.js - how to read a long string (over 10000 characters) from process.stdin?Node.js - 如何从 process.stdin 中读取一个长字符串(超过 10000 个字符)?
【发布时间】:2018-08-06 01:53:45
【问题描述】:

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

如果我使用process.stdinreadline,我会受到我实际可以输入的字符数的限制——命令提示符实际上会在大约 2700 个字符后停止接受任何输入,直到我按下 Enter 键。但关键是它必须是一长行,没有 \n 字符。

有什么办法呢?

【问题讨论】:

    标签: node.js stream stdin readline


    【解决方案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 个字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-16
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 2013-06-27
      • 2012-11-05
      相关资源
      最近更新 更多