더북(TheBook)

노드 8.5 버전에서는 파일 복사 방법도 새로 추가되었습니다. 더 이상 createReadStreamcreateWriteStream을 pipe하지 않아도 됩니다.

copyFile.js

const fs = require('fs');

fs.copyFile('readme4.txt','writeme4.txt', (error) => {
  if (error) {
    return console.error(error);
  }
  console.log('복사 완료');
});

 

콘솔

$ node copyFile
복사 완료

 

동일한 내용의 writeme4.txt가 생성되었을 것입니다. 첫 번째 인자로 복사할 파일을, 두 번째 인자로 복사될 경로를, 세 번째 인자로 복사 후 실행될 콜백 함수를 넣습니다.

지금까지 노드로 파일 시스템에 접근하는 방법에 대해 알아보았습니다. 자바스크립트로는 처음 접근해보는 분도 많을 것입니다. 예제를 반복하고 응용도 해보면 곧 익숙해질 것입니다. 다음 절에서는 스트림에서 사용했던 on에 대해 알아보겠습니다.

Note ≣ fs 프로미스

노드 10 버전에 fs 모듈을 프로미스 형식으로 사용하는 방법이 추가되었습니다. 다음과 같이 fs 모듈로부터 promises 객체를 불러와 사용합니다.

const fsPromises = require('fs').promises;

하지만 아직 실험적인 기능이므로 이 책에서는 설명하지 않겠습니다. 3.9절에 fs 프로미스에 대해 설명해놓은 사이트의 링크를 남겨두었습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.