NodeJS에서 스트림 읽기, 쓰기 및 파이프라이닝의 5가지 예
12152 단어 streamnodejavascript
1. 입력을 출력 스트림으로 파이핑(예제 파일)
const fs = require('fs');
let input = fs.createReadStream('/var/www/examples/test.txt');
let output = fs.createWriteStream('/tmp/out.txt');
input.pipe(output);
require('fs')
- 파일 시스템과 함께 작동하는 라이브러리, fs.createReadStream(
- 데이터를 읽을 스트림 생성(이 경우 파일), fs.createWriteStream
- 파일을 열고 쓰기 스트림 생성, /var/www/examples/test.txt
- 스트림 읽기에 대한 파일 경로, /tmp/out.txt
- 스트림을 쓸 파일 경로, .pipe(
- 입력 스트림을 출력으로 파이프합니다(이 경우 입력 파일에서 읽고 출력에 씁니다). Open original 또는 edit on Github .
2. 파이프라인 스트림에 선호되는 방법
const fs = require('fs');
const { pipeline } = require('stream');
let input = fs.createReadStream('/var/www/examples/test.txt');
let output = fs.createWriteStream('/tmp/out.txt');
pipeline(input, output, (err) => console.log(err));
require('fs')
- 파일 시스템과 함께 작동하는 라이브러리, fs.createReadStream(
- 데이터를 읽을 스트림 생성(이 경우 파일), fs.createWriteStream
- 파일을 열고 쓰기 스트림 생성, /var/www/examples/test.txt
- 스트림 읽기에 대한 파일 경로, /tmp/out.txt
- 스트림을 쓸 파일 경로, pipeline
- 파이프라인에 스트림(왼쪽에서 오른쪽)이 지정되고 처리 후 모든 개체가 적절하게 파괴됨(err) => console.log(err)
- pipeline()의 마지막 인수는 항상 오류 콜백입니다. Open original 또는 edit on Github .
3. 입력 스트림을 Buffer로 읽는 방법
const fs = require('fs');
let input = fs.createReadStream('/var/www/examples/test.txt');
input.on('data', buf => {
console.log(buf);
});
require('fs')
- 파일 시스템과 함께 작동하는 라이브러리, fs.createReadStream(
- 데이터를 읽을 스트림 생성(이 경우 파일), /var/www/examples/test.txt
- 스트림 읽기에 대한 파일 경로, .on('data'
- 스트림에서 날짜 읽기 처리, buf
- 버퍼가 스트림에서 읽은 데이터 청크를 가져옵니다. Open original 또는 edit on Github .
4. 입력 스트림을 문자열로 읽는 방법
const fs = require('fs');
let input = fs.createReadStream('/var/www/examples/test.txt');
const chunks = [];
input.on('data', buf => chunks.push(buf));
input.on('end', () => console.log( Buffer.concat(chunks).toString() ))
require('fs')
- 파일 시스템과 함께 작동하는 라이브러리, fs.createReadStream(
- 데이터를 읽을 스트림 생성(이 경우 파일), /var/www/examples/test.txt
- 스트림 읽기에 대한 파일 경로, .on('data'
- 스트림에서 날짜 읽기 처리, chunks.push(buf)
- 각 청크를 배열로 푸시합니다. Buffer.concat(chunks)
- 모든 청크를 단일 버퍼로 결합합니다. .toString()
- 버퍼를 문자열로 변환, input.on('end'
- 스트림 읽기가 완료되면 실행됩니다. Open original 또는 edit on Github .
5. Transform 인터페이스를 사용하여 스트림을 변환하는 방법
const fs = require('fs');
const { Transform } = require("stream");
let input = fs.createReadStream('/var/www/examples/test.txt');
const my_transform = new Transform({
transform(chunk, encoding, callback) {
callback(null, 'TRANSFORMED: ' + chunk.toString());
},
});
my_transform.on('data', buf => console.log(buf.toString()));
input.pipe(my_transform);
require('fs')
- 파일 시스템과 함께 작동하는 라이브러리, fs.createReadStream(
- 데이터를 읽을 스트림 생성(이 경우 파일), new Transform(
- 데이터를 변환하는 새 스트림 생성, transform(chunk, encoding, callback)
- 청크 변환 기능, 'TRANSFORMED: ' + chunk.toString()
- 변환된 청크를 콜백으로 반환(변환 예제로 TRANSFORMED: 텍스트를 청크에 추가함), .on('data'
- 스트림에서 날짜 읽기 처리, .pipe(
- 개체를 지정된 스트림으로 파이프합니다(파일에서 읽고 파이프를 변환 스트림으로 읽음). Open original 또는 edit on Github .
Reference
이 문제에 관하여(NodeJS에서 스트림 읽기, 쓰기 및 파이프라이닝의 5가지 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nonunicorn/5-examples-of-reading-writing-and-pipelining-streams-in-nodejs-3f6n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)