whatisthis?
javaScript(Node.js). readline과 fs모듈 본문
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 |