본문 바로가기
Node

[Node] fs 모듈 - 첫번째 파일 읽기

by 신입같은 3년차 2017. 12. 14.

이번시간에는 여러번에 나눠서 fs모듈에 대해 알아보겠습니다.

 

오늘은 첫번째 시간으로 파일 읽기에 대해서 공부해볼까 합니다.

 

읽는 방식은 두가지 방법이 있습니다.  바로 동기방식과 비동기 방식이죠

 

메소드 이름은 readFile()과 readFileSync()입니다.  동기는 비동기메소드명에 Sync만 붙여주면됩니다.

 

이해가 안될수도 있으니 예제로 확인해보겠습니다..

 

 

첫번째로 txt파일로 아무내용이나 하나 적어봅니다. 저는 fileRead.txt라는 이름으로 만들었습니다.

 

파일을 만들었다면 물론 내용도 있어야겠죠?? 저는 아직 학생이기 때문에 다음과 같이 적었습니다.

 

 

 

 

처음 방식은 동기식 파일 읽기 코드와 결과를 같이 확인해보겠습니다.

 

 

 

var fs = require('fs');

var data = fs.readFileSync('./fileRead.txt' , 'utf-8');

console.log(data);

console.log(`프로젝트 폴더 안의 fileReader.txt 파일을 읽는다.`);

 

 

 

 

 

 

파일을 읽고난후 console.log(data)를 찍고  마지막 console.log()를 실행한 것을 확인할 수 있다.

 

 

그럼 다음 비동기 파일 읽기 코드와 결과를 같이 확인해보겠습니다.

 

 

 

 

/**
 * Created by yunjin on 2017-12-13.
 */

var fs = require('fs');

fs.readFile('./package.json' , 'utf-8' , function(err , data){

    console.log(data);
});

console.log(`프로젝트 폴더 안의 package.json 파일을 읽는다.`);

 

 

 

 

 

두개의 실행 결과를 봤을때 뭔가 이상하지 않나요?? 분명 파일을 읽고 읽었다는 console.log()를 호출하게 했는데 동기방식은 제대로 실행되

 

었지만 비동기 방식은 전혀 다르게 나왔습니다.  동기 방식은 파일을 읽을때까지 기다렸다가 완료되고난후 출력후 완료메세지를 찍게되고

 

비동기 방식은 파일을 읽도록 명령을하고 완료가 될때까지 기다리는게아니라 계속 진행을 하게됩니다. 따라서 동기방식과 다르게 출력된 것

 

입니다. 이러한 콜백개념은 Javascript를 공부한후 보셔야 이해하기 쉬우실거 같습니다.

 

저도 초보인지라 실수하거나 틀린부분이 있다면 댓글 달아주시면 감사하겠습니다 ㅎㅎ

 

오늘은 이렇게 fs모듈의 파일읽기에 대해서 알아봤습니다. 지겹지 않도록 짧게짧게 간략하게 정리해보도록 노력하겠습니다. 감사합니다~

반응형

댓글