Node.js에서 readline 모듈과 util 모듈을 사용하는 방법
이 글에서는 Node.js readline 모듈과 util 모듈의 사용법을 주로 소개하고 참고용으로 올려드립니다.
1. 스트림 데이터를 한 줄씩 읽으려면 readline 모듈을 사용하십시오.
1.1 인터페이스 객체 생성
readline 모듈에서 스트림 데이터를 한 줄씩 읽는 처리는 인터페이스 객체. 따라서 먼저 인터페이스 객체를 생성해야 합니다. readline.createInterface(options) 메소드를 통해 인터페이스 객체를 생성할 수 있습니다. 입력: 속성 값은 객체입니다. 스트림을 읽는 데 사용할 수 있는 데이터 개체입니다. 읽기 데이터의 소스를 지정하는 데 사용됩니다.
output: 속성 값은 스트림 데이터를 쓰는 데 사용할 수 있는 개체이며 데이터의 출력 대상을 지정하는 데 사용됩니다.
컴퓨터: 속성값은 탭 완성 처리를 지정하는 데 사용되는 함수입니다. 함수의 매개변수 값은 행에서 읽은 Tab 문자 앞의 데이터로 자동 설정됩니다. 함수는 Tab 완성에 사용되는 모든 일치하는 문자열과 행에서 읽은 데이터로 구성된 배열을 반환해야 합니다. .
terminal: 이 속성은 부울 유형 속성입니다. 입력 데이터 스트림을 터미널처럼 실시간으로 출력해야 하며 출력 데이터에 ANSI/VT100 제어 문자열을 작성해야 하는 경우 이 속성을 사용해야 합니다. 값은 true로 설정되며, 기본 속성 값은 출력 속성 값 객체의 isTTY 속성 값과 같습니다.
// 输入 exit, quit,q这三个任意之一的时候,会退出 const readline = require('readline'); let rl = readline.createInterface({ input: process.stdin, output: process.stdout, completer: completer }); rl.on('line', (line) => { if (line === 'exit' || line === 'quit' || line === 'q') { rl.close(); } else { console.log('您输入了:', line); } }); rl.on('close', () => { console.log('行数据读取操作被终止'); }); function completer(line) { const completions = '.help .error .exit .quit .q'.split(' '); let hits = completions.filter((c) => { return c.indexOf(line) === 0; }); return [hits.length ? hits : completions, line] }
로그인 후 복사1.2 인터페이스 객체를 사용하여 파일을 한 줄씩 읽습니다.
원본 fs.js 파일의 내용
console.log('this is line 1'); console.log('this is line 2'); console.log('this is line 3'); console.log('this is line 4'); console.log('this is line 5');
코드 내용
const readline = require('readline'); const fs = require('fs'); let file = fs.createReadStream('./fs.js'); let out = fs.createWriteStream('./anotherFs.js'); let index = 1; out.write('/*line' + index.toString() + ": */"); let rl = readline.createInterface({ input: file, output: out, terminal: true }); rl.on('line', (line) => { if (line === '') { rl.close(); } else { index++; out.write('/*line' + index.toString() + ': */'); } });
생성된 anotherFs.js 파일의 내용
/*line1: */console.log('this is line 1'); /*line2: */console.log('this is line 2'); /*line3: */console.log('this is line 3'); /*line4: */console.log('this is line 4'); /*line5: */console.log('this is line 5');/*line6: */
2 .제공되는 util 모듈을 사용합니다.
+format method
의 일부 메소드는 C 언어의 printf 메소드와 유사하며 첫 번째 매개변수 값은 형식 문자열로 사용되며 나머지 매개변수 값은 사용되는 매개변수로 사용됩니다. 형식 문자열로 반환합니다.util.format('%d개의 매개변수를 입력했습니다. 매개변수 값은 %s,%s,%s',3,'nice','excelent','holy입니다. ');
형식 문자열에서 매개변수 지정 기호를 사용할 수 있습니다
*`%s`: 문자열 매개변수를 지정하는 데 사용됩니다.
*`%d`: 정수를 포함한 숫자 매개변수를 지정하는 데 사용됩니다. 포인트 번호
*`%j`: `JSON` 객체를 지정하는 데 사용됨
*`%%`: 백분율 기호를 지정하는 데 사용됨
* 형식 문자열에 사용된 경우 매개변수가 형식 메소드에 사용된 `format` 매개변수 이외의 매개변수보다 많으면 형식 문자열에서 더 많은 매개변수가 대체되지 않습니다. '));`
*형식 문자열에 사용된 매개변수의 개수가 `format` 매개변수를 제외하고 `format` 메서드에 사용된 다른 매개변수보다 적은 경우 ` 다음보다 많은 유형이 있는 경우 format` 메소드의 매개변수 값은 자동으로 공백으로 구분된 문자열로 변환됩니다.
+inspect(object,[options])는 객체의 정보가 포함된 문자열을 반환하므로 프로세스에 매우 유용합니다.
*`showHidden
*`깊이<숫자>`는 `객체` 형식을 지정할 때 반복 횟수를 지정합니다. 이는 크고 복잡한 객체를 보는 데 유용합니다. 기본값은 `2`입니다. 반복은 `null`로 전달됩니다.
*`colors- *`customInspect
- *`showProxy
- *`breakLength
- +custom util.inspect color
전역적으로 가능합니다. util.inspect.styles 및 util.inspect.colors 속성을 통해 util.inspect(활성화된 경우)의 색상 출력을 사용자 정의하세요
const util = require('util'); console.log(util.format('您输入了%d个参数,参数值分别为%s,%s,%s', 3, 'nice', 'excelent', 'holy')); //您输入了3个参数,参数值分别为nice,excelent,holy console.log(util.format('一个JSON对象%j', {'name': 'jack', 'age': 25})); // 一个JSON对象{"name":"jack","age":25} console.log(util.format('一个百分号%'));// 一个百分号% console.log(util.format('%s:%s', 'one'));// one:%s console.log(util.format('%s', 'one', 'two', 'three', {'name': 'jack'})); function test(one, two) { return one + two; } let parent = new Object(); parent.name = 'parent'; parent.func = test; let child1 = new Object(); child1.name = 'child1'; parent.child1 = child1; let child2 = new Object(); child2.name = 'child2'; child1.child = child2; let child3 = new Object(); child3.name = 'child3'; child2.child = child3; child2.inspect = function (depth) { return util.inspect(this, {depth: depth - 2, customInspect: false}) }; console.log(util.inspect(parent, {customInspect: true, depth: 4})); /** * { name: 'parent', * func: [Function: test], * child1: * { name: 'child1', * child: { name: 'child2', child: [Object], inspect: [Function] } } } * **/
로그인 후 복사위 내용은 제가 모든 사람을 위해 편집한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.
관련 기사:
vue 캐러셀 차트 플러그인 vue-concise-slider 사용 vue 페이지를 떠난 후 함수 실행 인스턴스vue 페이지 새로 고침 또는 뒤로 매개변수 손실 문제 해결위 내용은 Node.js에서 readline 모듈과 util 모듈을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











WebSocket 및 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법 소개: 지속적인 기술 개발로 음성 인식 기술은 인공 지능 분야의 중요한 부분이 되었습니다. WebSocket과 JavaScript를 기반으로 한 온라인 음성 인식 시스템은 낮은 대기 시간, 실시간, 크로스 플랫폼이라는 특징을 갖고 있으며 널리 사용되는 솔루션이 되었습니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 음성 인식 시스템을 구현하는 방법을 소개합니다.

WebSocket과 JavaScript: 실시간 모니터링 시스템 구현을 위한 핵심 기술 서론: 인터넷 기술의 급속한 발전과 함께 실시간 모니터링 시스템이 다양한 분야에서 널리 활용되고 있다. 실시간 모니터링을 구현하는 핵심 기술 중 하나는 WebSocket과 JavaScript의 조합입니다. 이 기사에서는 실시간 모니터링 시스템에서 WebSocket 및 JavaScript의 적용을 소개하고 코드 예제를 제공하며 구현 원칙을 자세히 설명합니다. 1. 웹소켓 기술

JavaScript 및 WebSocket을 사용하여 실시간 온라인 주문 시스템을 구현하는 방법 소개: 인터넷의 대중화와 기술의 발전으로 점점 더 많은 레스토랑에서 온라인 주문 서비스를 제공하기 시작했습니다. 실시간 온라인 주문 시스템을 구현하기 위해 JavaScript 및 WebSocket 기술을 사용할 수 있습니다. WebSocket은 TCP 프로토콜을 기반으로 하는 전이중 통신 프로토콜로 클라이언트와 서버 간의 실시간 양방향 통신을 실현할 수 있습니다. 실시간 온라인 주문 시스템에서는 사용자가 요리를 선택하고 주문을 하면

WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법 오늘날의 디지털 시대에는 점점 더 많은 기업과 서비스에서 온라인 예약 기능을 제공해야 합니다. 효율적인 실시간 온라인 예약 시스템을 구현하는 것이 중요합니다. 이 기사에서는 WebSocket과 JavaScript를 사용하여 온라인 예약 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. WebSocket이란 무엇입니까? WebSocket은 단일 TCP 연결의 전이중 방식입니다.

JavaScript 및 WebSocket: 효율적인 실시간 일기 예보 시스템 구축 소개: 오늘날 일기 예보의 정확성은 일상 생활과 의사 결정에 매우 중요합니다. 기술이 발전함에 따라 우리는 날씨 데이터를 실시간으로 획득함으로써 보다 정확하고 신뢰할 수 있는 일기예보를 제공할 수 있습니다. 이 기사에서는 JavaScript 및 WebSocket 기술을 사용하여 효율적인 실시간 일기 예보 시스템을 구축하는 방법을 알아봅니다. 이 문서에서는 특정 코드 예제를 통해 구현 프로세스를 보여줍니다. 우리

JavaScript 튜토리얼: HTTP 상태 코드를 얻는 방법, 특정 코드 예제가 필요합니다. 서문: 웹 개발에서는 서버와의 데이터 상호 작용이 종종 포함됩니다. 서버와 통신할 때 반환된 HTTP 상태 코드를 가져와서 작업의 성공 여부를 확인하고 다양한 상태 코드에 따라 해당 처리를 수행해야 하는 경우가 많습니다. 이 기사에서는 JavaScript를 사용하여 HTTP 상태 코드를 얻는 방법과 몇 가지 실용적인 코드 예제를 제공합니다. XMLHttpRequest 사용

사용법: JavaScript에서 insertBefore() 메서드는 DOM 트리에 새 노드를 삽입하는 데 사용됩니다. 이 방법에는 삽입할 새 노드와 참조 노드(즉, 새 노드가 삽입될 노드)라는 두 가지 매개 변수가 필요합니다.

JavaScript는 웹 개발에 널리 사용되는 프로그래밍 언어인 반면 WebSocket은 실시간 통신에 사용되는 네트워크 프로토콜입니다. 두 가지의 강력한 기능을 결합하면 효율적인 실시간 영상 처리 시스템을 만들 수 있습니다. 이 기사에서는 JavaScript와 WebSocket을 사용하여 이 시스템을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 첫째, 실시간 영상처리 시스템의 요구사항과 목표를 명확히 할 필요가 있다. 실시간 이미지 데이터를 수집할 수 있는 카메라 장치가 있다고 가정해 보겠습니다.
