Node.js에서 쓰기 가능한 스트림으로 작업하는 방법은 무엇입니까?

Node Jseseo Sseugi Ganeunghan Seuteulim Eulo Jag Eobhaneun Bangbeob Eun Mueos Ibnikka



데이터는 스트림 형태로 네트워크를 통해 소스와 대상 사이에 전송됩니다. 송신측은 소스라고 하며 수신측은 대상 스트림으로 표시됩니다. 이러한 스트림을 사용하면 데이터 누출이나 손실 가능성을 최소화하면서 텍스트 형식이나 오디오 또는 비디오 형식의 데이터를 보내고 받을 수 있습니다.

이 가이드에서는 Node.js에서 쓰기 가능한 스트림 작업을 설명합니다.

Node.js에서 쓰기 가능한 스트림으로 작업하는 방법은 무엇입니까?

쓰기 가능 ” 스트림을 사용하여 파일에 새 데이터를 삽입하거나 다른 임의 스트림의 내용을 배치할 수 있습니다. 데이터 변환 또는 배치는 대부분 ' 파이프() ' 방법. 이 방법을 사용하면 데이터 충돌 가능성을 줄이면서 콘텐츠 변환 및 할당 프로세스가 더욱 편리해집니다.







통사론



쓰기 가능한 스트림은 아래 메소드를 호출하여 생성됩니다.



fs. createWriteStream ( '대상파일.ext' ) ;

위 구문에서 “ creatWriteStream() '는 가져온 '의 개체에 의해 호출됩니다. FS ” 모듈이며, 데이터가 쓰여질 파일이 매개변수로 전달됩니다.





Node.js의 쓰기 가능한 스트림에 대한 몇 가지 예를 살펴보겠습니다.

예제 1: 쓰기 가능한 스트림을 사용하여 다른 파일의 내용 쓰기

아래 예에서는 임의 파일이 읽기 가능한 스트림을 통해 전송된 다음 이 파일 콘텐츠가 쓰기 가능한 스트림에서 사용 가능한 다른 파일에 배치됩니다.



fsObj였습니다 = 필요하다 ( 'fs' ) ;

const 데이터 스트림 = fsObj. createReadStream ( 'mynewfile1.txt' ) ;

const writeStream = fsObj. createWriteStream ( 'mynewfile2.txt' ) ;

데이터 스트림. 파이프 ( writeStream ) ;

위 코드에 대한 설명:

  • 첫째, “ FS ' 모듈을 가져오고 해당 객체는 새 ' fsObj ” 변수입니다.
  • 다음으로, “ fasObj '를 호출합니다. createReadStream() ” 읽을 수 있는 스트림을 생성하고 선택한 읽을 수 있는 파일을 매개변수로 전달하는 메서드입니다.
  • 그런 다음 '를 호출하여 쓰기 가능한 스트림이 생성됩니다. createWriteStream() ” 메소드를 사용하여 제공된 파일에 내용을 작성합니다.
  • 위에서 호출한 메소드의 결과를 ' 데이터 스트림 ' 그리고 ' writeStream ” 변수를 각각 사용합니다.
  • 마지막으로 “. 파이프() ” 메소드 다음에 “ 데이터 스트림 ” 그리고 “ writeStream ' 변수.

이제 아래 명령을 실행하여 포함된 파일(controlFlow.js)을 실행합니다.

예제 2: “stream.write()” 메서드를 사용하여 파일에 콘텐츠 쓰기

이 예에서는 ' 쓰다() ” 메소드는 쓰기 가능한 스트림을 통해 사용 가능한 파일에 데이터를 쓰는 데 사용됩니다.

fsObj였습니다 = 필요하다 ( 'fs' ) ;
const httpObj = 필요하다 ( 'http' ) ;

const 서브로컬 = httpObj. 서버 생성 ( ( 요청, 응답 ) => {
노력하다 {
const 셀스트림 = fsObj. createWriteStream ( 'mynewfile2.txt' ) ;
cellStream. 쓰다 ( '대상 파일에 배치할 데이터입니다.' ) ;
cellStream. ( ) ;
응답. ( '쓰기 가능한 스트림을 통해 작성된 데이터' )
}
잡다 ( 오류 ) {
콘솔. 오류 ( 오류 ) ;
}
} ) ;
ServeLocaly. 듣다 ( 8080 , ( ) => {
콘솔. 통나무 ( '서버가 로컬 호스트 포트 번호: '8080'에서 실행 중입니다.' )
) ;

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

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

생성된 출력은 제공된 텍스트가 '를 사용하여 작성되었음을 보여줍니다. 쓰다() ' 방법:

예 3: 여러 파일에 동일한 데이터 쓰기

이 예에서는 '를 사용하여 스트림에서 단일 파일을 읽습니다. createReadStream() ' 방법. 그런 다음 읽은 내용은 '를 사용하여 여러 파일에 기록됩니다. createWriteStream() ' 그리고 ' .파이프() ” 메소드:

fsObj였습니다 = 필요하다 ( 'fs' ) ;

const 데이터 스트림 = fsObj. createReadStream ( 'mynewfile1.txt' ) ;

const writeStream1 = fsObj. createWriteStream ( 'mynewfile2.txt' ) ;

const writeStream2 = fsObj. createWriteStream ( '유즈케이스.txt' ) ;

데이터 스트림. 파이프 ( writeStream1 ) ;

데이터 스트림. 파이프 ( writeStream2 ) ;

위의 코드 조각에서:

  • createReadStream() ” 메소드가 호출되고 내용을 읽어야 하는 파일이 매개변수로 전달됩니다. 이 방법의 결과는 ' 데이터 스트림 ” 변수입니다.
  • 다음으로는 “ createWriteStream() ” 메소드가 호출되고 대상 파일이 매개변수로 전달됩니다.
  • 같은 방식으로 두 번째 파일의 경로도 쓰기 가능한 스트림으로 전달되고 결과는 ' writeStream1 ' 그리고 ' writeStream2 ' 변수.
  • 그 후에는 ' .파이프() ” 메서드는 “에 저장된 콘텐츠를 데이터 스트림 ” 변수는 “에 할당됩니다. writeStream1 ' 그리고 ' writeStream2 ' 변수.

생성된 출력은 제공된 파일 콘텐츠가 스트림을 통해 제공된 파일에 삽입되었음을 보여줍니다.

이것이 Node.js의 쓰기 가능한 스트림 작업에 관한 전부입니다.

결론

쓰기 가능한 스트림으로 작업하려면 ' createWriteStream() '는 '를 통해 호출됩니다. FS ” 모듈 개체입니다. 콘텐츠를 작성해야 하는 대상 파일 경로가 매개변수로 전달됩니다. 다른 스트림의 콘텐츠를 쓰려면 ' .파이프() '라는 방식을 활용한다. “ 쓰다() ” 방법은 대상 파일에 직접 콘텐츠를 쓰는 경우에도 유용합니다. 이 게시물에서는 쓰기 가능한 스트림으로 작업하는 절차를 설명했습니다.