Node.js에서 읽기 가능한 스트림을 사용하는 방법은 무엇입니까?

Node Jseseo Ilg Gi Ganeunghan Seuteulim Eul Sayonghaneun Bangbeob Eun Mueos Ibnikka



데이터는 네트워크를 통해 송신자 또는 소스와 대상 또는 수신자 측 사이에서 스트림 형태로 전송됩니다. 이러한 스트림은 여러 가지 방법을 활용하여 생성 및 결합될 수 있으며 오디오 또는 비디오 파일도 스트림을 통해 전달될 수 있습니다. 읽은 데이터는 '를 사용하여 다른 대상 파일에 삽입할 수 있습니다. 쓰다() ' 그리고 ' 푸시() ” 방법도 마찬가지입니다.

이 가이드에서는 Node.js에서 읽기 가능한 스트림의 사용법을 설명합니다.

Node.js에서 읽기 가능한 스트림을 사용하는 방법은 무엇입니까?

읽을 수 있음 ' 스트림은 '를 호출하여 생성됩니다. createReadStream() ” 그리고 읽은 데이터는 로컬 서버를 생성하여 웹 페이지에 표시할 수 있습니다. “의 도움으로 이벤트 리스너 에() ” 메서드를 읽기 가능한 스트림에 연결하여 파일 읽기가 시작되거나 끝날 때 메시지를 표시하거나 특정 작업을 수행할 수도 있습니다.







실제 데모를 보려면 예제를 살펴보세요.



예: 읽기 가능한 스트림을 사용하여 서버를 통해 콘텐츠 읽기 및 표시

이 예에서는 제공된 파일의 내용을 읽은 다음 웹 브라우저를 통해 표시합니다.



const fsObj = 필요하다 ( 'fs' ) ;

const httpObj = 필요하다 ( 'http' ) ;

const 로컬서버 = httpObj. 서버 생성 ( ( 요청, 응답 ) => {

노력하다 {
// 읽을 대상 파일
const 데이터 스트림 = fsObj. createReadStream ( '유즈케이스.txt' ) ;
// 파일을 응답으로 파이프합니다.
데이터 스트림. 파이프 ( 응답 ) ;
} 잡다 ( 오류 ) {
콘솔. 오류 ( 오류 ) ;
}
} ) ;

로컬서버. 듣다 ( 8080 , ( ) => {
콘솔. 통나무 ( '서버가 로컬 호스트 포트 번호: '8080'에서 실행 중입니다.' )
} ) ;

위 코드에 대한 설명은 다음과 같습니다.





  • 먼저, 필수 '를 가져옵니다. FS ' 그리고 ' http ” 모듈을 저장하고 해당 객체를 “ fsObj ' 그리고 ' httpObj ” 변수를 각각 사용합니다.
  • 다음으로, '를 호출하여 서버가 생성되었습니다. 생성서버() ' 메서드를 사용하고 새로 생성된 서버를 ' 로컬서버 ” 변수입니다.
  • 그런 다음 ' 노력하다 ” 블록을 메서드 콜백 함수 내에서 호출하고 “ createReadStream() ”를 사용하는 방법 fsObj ” 변수입니다.
  • 이 메서드 괄호 안에 읽어야 하는 대상 파일 콘텐츠를 전달하고 결과를 ' 데이터 스트림 ” 변수입니다.
  • “를 삽입하세요. 데이터 스트림 ” 변수를 “ .파이프() ” 응답을 보내는 방법입니다.
  • '를 활용하세요. 잡다 ” 블록을 사용하여 발생한 오류를 처리합니다.
  • 마지막으로 포트 번호 '를 통해 서버를 수신하거나 설정합니다. 8080 ” 콜백 함수를 사용하여 성공 메시지를 표시합니다.

아래 명령을 통해 위 코드가 포함된 파일(controlFlow.js)을 실행합니다.

노드 제어 흐름. JS

생성된 출력은 ' .파이프() ' 그리고 ' 읽기 가능한 스트림 ”, 파일 데이터를 읽고 웹 페이지에 표시하기 위해 대상 스트림으로 전송했습니다.



예 2: ReadStream을 사용하여 로컬로 정적 파일 읽기

이 경우 스트림을 통해 제공된 파일이 선택되고 해당 콘텐츠가 이벤트 리스너의 도움을 받아 콘솔 창 위에 표시됩니다.

const fsObj = 필요하다 ( 'fs' ) ;

const 스트림 개체 = fsObj. createReadStream ( '유즈케이스.txt' ) ;

streamObj. ~에 ( '데이터' , ( 콘텐츠 ) => {

콘솔. 통나무 ( 콘텐츠. toString ( ) ) ;

} ) ;

streamObj. ~에 ( '끝' , ( ) => {

콘솔. 통나무 ( ' \N 파일 읽기를 마쳤습니다.' ) ;

} ) ;

streamObj. 파이프 ( 프로세스. 표준 출력 ) ;

위 코드에 대한 설명은 다음과 같습니다.

  • 첫째, “ FS ' 모듈을 가져오고 해당 객체는 ' fsObj ” 변수입니다.
  • 다음으로 “ fsObj '는 '를 호출합니다. createReadStream() ” 메서드를 사용하여 콘텐츠를 검색해야 하는 대상 파일의 경로를 전달합니다. 메소드의 결과를 새 변수 ' 스트림 개체 '.
  • “를 첨부하세요. 에() '일 때 콜백 함수를 호출하는 'streamObj'가 포함된 메서드 데이터 '가 검색됩니다. 검색된 데이터는 데이터를 문자열 형식으로 변환하고 콘솔에 표시하는 콜백 함수의 매개변수로 전달됩니다.
  • 다시 '를 첨부합니다. 에() '를 사용한 '메소드 스트림 개체 ” 그리고 이번에는 파일 읽기가 완료되면 콜백 함수가 종료 메시지를 표시합니다.

위 코드를 실행한 후 생성된 출력은 종료 메시지와 함께 읽은 데이터가 콘솔에 표시되었음을 보여줍니다.

이것이 Node.js에서 읽기 가능한 스트림의 사용에 관한 전부입니다.

결론

Node.js에서 읽을 수 있는 스트림으로 작업하려면 ' createReadStream() '는 '를 통해 호출됩니다. FS ” 모듈 개체입니다. 그런 다음 콘텐츠를 작성해야 하는 대상 파일 경로가 메서드 매개 변수로 전달됩니다. '와 함께 활용할 수 있습니다. .파이프() ” 다른 파일에 콘텐츠를 쓰는 등 검색된 데이터에 대해 추가 작업을 수행하는 방법입니다. 이 게시물에서는 읽기 가능한 스트림으로 작업하는 절차를 설명했습니다.