whatisthis?

javaScript(Node.js). readline과 fs모듈 본문

WEB STUDY/JAVASCRIPT

javaScript(Node.js). readline과 fs모듈

thisisyjin 2021. 12. 6. 14:51

readline과 fs모듈

 

 

 

1. fs모듈 사용시

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ');

// const input = require('fs').readFileSync('/dev/stdin').toString().split(' ');

fs모듈은 예제 입력 파일에 접근해야 하기 때문에
일부 문제에서는 "런타임 에러 (EACCES)" 형태의 접근권한 오류가 나타나고,

이럴때는 readline을 써야함.

 

2. readline 사용시

// 예제 입력이 한줄로 되어 있을 때
const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.on('line', function(line) {
  console.log(line);

  rl.close();
}).on("close", function() {
  process.exit();
});

-----------------------------------------

// 예제 입력이 여러줄로 되어 있을 떼
const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

let input = [];

rl.on('line', function (line) {
  input.push(line)
})
  .on('close', function () {
  console.log(input);
  process.exit();
});

 

출처: https://hanch-dev.tistory.com/4 [HanCh_Dev]

https://velog.io/@yujo/node.js%ED%91%9C%EC%A4%80-%EC%9E%85%EB%A0%A5-%EB%B0%9B%EA%B8%B0

 

readline

  • readline 모듈은 한 번에 한 줄씩 Readable 스트림 (예 : process.stdin)에서 데이터를 읽기위한 인터페이스를 제공
  • readline 모듈은 데이터를 읽기위한 인터페이스를 제공해주는 모듈
  • readline.createInterface() 메쏘드를 통해 인터페이스 생성 가능
  • readline의 경우 입력을 비동기적으로 처리

 

 

비교

// 예제 입력이 한줄로 되어 있을 때

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.on('line', function(line) {
  console.log(line);

  rl.close();
}).on("close", function() {
  process.exit();
});



// 예제 입력이 여러줄로 되어 있을 떼

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

let input = [];

rl.on('line', function (line) {
  input.push(line)

}).on('close', function () {
  console.log(input);
  process.exit();
});

 

 

 추후에 내용 추가 예정 : ) 

'WEB STUDY > JAVASCRIPT' 카테고리의 다른 글

javaScript. Switch문  (0) 2021.12.20
javaScript. break문  (0) 2021.12.20
javaScript. Array(배열)  (0) 2021.12.06
javaScript. Math.floor과 Math.trunc의 차이  (0) 2021.12.06
javaScript. 호이스팅(Hoisting) 이란?  (0) 2021.12.06