Node.js 的 readline 模块

admin9个月前 (06-25)it知识654

Node.js 的 readline 模块是用于逐行处理输入/输出流的核心模块,

特别适合交互式命令行应用和大文件逐行解析

以下是关键特性和用法:

一、核心功能

  1. 逐行处理

    • 通过事件驱动机制监听换行符(\n\r 或 \r\n)触发 line 事件

    • 支持异步迭代器模式(Node.js 11.7+)实现同步风格代码

  2. 接口控制

    • createInterface() 绑定输入输出流(如 process.stdin/stdout

    • close() 释放资源并触发 close 事件

二、典型应用场景

  1. 命令行交互

    • 使用 question() 实现选项菜单

    • 示例:用户选择后执行对应操作

  2. 文件处理

    • 结合 fs.createReadStream 逐行读取大文件,避免内存溢出

    • 通过 crlfDelay: Infinity 兼容不同系统的换行符

三、代码示例

异步迭代器读取输入:

const rl = require('readline').createInterface({  input: process.stdin});(async () => {  for await (const line of rl) {    console.log('Received:', line);  }})();

四、注意事项

必须显式调用 close() 结束输入监听,否则进程会挂起[文]

浏览器环境无法直接使用,需通[章]过 Node.js 或 Web Worker 实现


标签: 分享IT知识

相关文章

如何写文章

过程,需要一定的技巧和准备。以下是一些写文章的步骤和技巧:确定文章的主题和目的:在开始写作之前,您需要明确文章的主题和目的。这有助于您确定文章的重点和方向。研究和收集信息:在开始写作之前,进行一些研究...

双因素理论

双因素理论是美国心理学家弗雷德里克·赫兹伯格(Frederick·Herzberg)于20世纪50年代后期提出的,这一理论的研究重点是组织中的人与工作的关系问题。双因素理论包括保健因素和激励因素。保健...

《山海经》中的一卷--南山经

《南山经》是中国古代神话典籍《山海经》中的一卷,内容描述了南方诸多山系及其中的奇珍异兽、神话传说等。以下是《南山经》的简要翻译概述(请注意,由于《山海经》的内容包含大量神话元素和夸张描述,翻译时尽量保...

职场需要哪些能力和素质

一、‌专业能力‌‌专业技能与知识‌掌握岗位相关的核心技能(如办公软件操作、行业工具应用)和专业知识,是胜任工作的基础‌。‌持续学习能力‌快速适应行业变化,主动学习新知识、新技术以保持竞争力‌。‌市场敏...

首屏加载优化全解析

首屏加载‌是指用户打开网页或应用时,首次呈现在屏幕上的内容加载完成的时间。首屏加载速度直接影响用户体验,是前端性能优化的关键指标。‌一、首屏加载的重要性‌‌用户体验‌:快速的首屏加载能减少用户等待时间...

前端核心三件套

一、核心三件套HTML5‌语义化标签(<header>/<section>)离线存储(localStorage/sessionStorage)‌Canvas/SVG图形绘制能力...