다음과 같은 명령 줄 호출을 사용하여 노드가있는 텍스트 파일을 처리하려고합니다.
node app.js < input.txt
파일의 각 줄은 개별적으로 처리해야하지만 일단 처리되면 입력 줄을 잊을 수 있습니다.
stdin의 온 데이터 리스너를 사용하여 입력 스팀을 바이트 크기로 청크하여이를 설정했습니다.
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lingeringLine = "";
process.stdin.on('data', function(chunk) {
lines = chunk.split("\n");
lines[0] = lingeringLine + lines[0];
lingeringLine = lines.pop();
lines.forEach(processLine);
});
process.stdin.on('end', function() {
processLine(lingeringLine);
});
그러나 이것은 너무 조잡 해 보입니다. 라인 배열의 첫 번째 항목과 마지막 항목을 마사지해야합니다. 더 우아한 방법이 없습니까?