달력

8

« 2025/8 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'Javascript & HTML & CSS'에 해당되는 글 63

  1. 2016.08.08 File System 모듈
2016. 8. 8. 02:22

File System 모듈 Javascript & HTML & CSS/node.js2016. 8. 8. 02:22

파일 읽고 쓰기는 동기식과 비동기식이 있다.

동기식은 바꿔 말하면 blocking함수라는 얘기고,

비동기식은 non-blocking함수라는 얘기다.






동기 방식(blocking) 읽기

var fs = require('fs');

console.log("start");

var result = fs.readFileSync('test.txt', 'utf8');

console.log(result);

console.log("end");

결과

동기식이므로 프로그램에 기술된 순서대로 start -> 파일입출력 -> end 순으로 실행됨.






비동기 방식(non-blocking) 읽기

var fs = require('fs');

console.log("start");

fs.readFile('test.txt', 'utf8', function(error, data){

console.log(data);

});

console.log("end");

결과

비동기식이므로 프로그램에 기술된 순서대로 동작하지 않음.

start -> 파일입출력 콜백 등록 -> end -> 파일입출력 콜백 완료 순으로 실행됨.

(물론 파일입출력이 엄청나게 빨리 끝나는 경우라면 end가 찍히기 전에 test file!!!이 찍힐 가능성도 존재하긴 함)



동기방식 쓰기(예외처리는 try catch로 함)

fs.readFileSync('test.txt', 'hahaha', 'utf8');

비동기방식 쓰기(예외처리는 error인자로 함. 에러 미발생 시 undefined가 넘어옴. 그러면 undefined는 조건문에서 false로 판별하여 처리하면 됨)

fs.readFile('test.txt', 'hahaha', 'utf8', function(error){

//예외처리 및 로그

});




'Javascript & HTML & CSS > node.js' 카테고리의 다른 글

[GitBook] Node.js & MonboDB  (0) 2016.08.09
request 객체 : 페이지를 구분하는 방법  (0) 2016.08.09
crypto 모듈 : Hash(sha256), AES(aes192)  (0) 2016.08.08
util 모듈 사용법  (0) 2016.08.07
url 모듈 사용법  (0) 2016.08.07
:
Posted by 클레잇