IT 관련,,/중요문자 적어두기

[node.js/개발]파일입출력,,

IT깡패's 2019. 11. 16. 22:00
728x90
반응형
SMALL

안녕하세요~ IT깡패's입니다~ㅎㅎㅎ

요즘은 node.js에 대해서 공부중인데요~

node.js에서 fs모듈을 사용하여 파일 입출력을 사용해보도록 하겠습니다~!

이것으로 파일 입출력 읽기/쓰기와 동기/비동기 방식을 실행할 수 있습니다.

 

파일쓰기

일단은,, 파일쓰기의 동기/비동기 방식을 사용하는 소스코드를 적어보도록 하겠습니다~ㅎㅎ

 

-index.js

/**
 * http://usejsdoc.org/
 */
var server = require("./server");
var server2 = require("./server2");

 

-server.js

/**
 * http://usejsdoc.org/
 */
/*파일쓰기 동기 방식*/
var fs = require("fs");
var data = "Hello, Jsnode! Sync~!!";
var comp = "COMPLETE FILE WRITE!";
 
try{
    fs.writeFileSync("./syncTest.txt",data,"utf8");
    console.log(comp);
}catch(e){
    console.log(e);
}

 

-server2.js

/**
 * http://usejsdoc.org/
 */
/*파일 읽기 비동기 방식*/
var fs = require("fs");
var data = "Hello, Jsnode! ASync!!!!!";
var comp = "COMPLETE FILE WRITE NOW!";
 
fs.writeFile("./asyncTest.txt",data,"utf8",function(err){
    console.log(comp);    
   if(err){
    console.log(err);
  }
});

 

-console 결과창

 

이 두가지 방식은 node.js에서 파일 입출력으로 사용하고 예외처리 부분은 꼭 들어가야 한다고 생각하시면

되겠습니다~ㅎㅎ

fs.writeFileSync("./syncTest.txt",data,"utf8");

fs.writeFile("./asyncTest.txt",data,"utf8",function(err){

 

이것들이 요기에 사용하는 fs모듈 함수로 특히 비동기방식을 보면 좀 더 단순하게 리팩토링할 필요가 있다고 생각이

들 수 있습니다.

쬐금 더 단순하게 정리해보면요~~ 바로 callback함수 자체를 변수를 담아버린다고 합니다~

 

- server2.js

/**
 * http://usejsdoc.org/
 */
/*파일 읽기 비동기 방식*/
var fs = require("fs");
var data = "Hello, Jsnode! ASync!!!!!";
var comp = "COMPLETE FILE WRITE NOW!";
 
fs.writeFile("./asyncTest.txt",data,"utf8",function(err){
    console.log(comp);    
   if(err){
    console.log(err);
  }
});

 

파일 쓰기를 해보았으니 이제는 파일 읽기를 해봐야겠죠잉~ㅎㅎ

파일 읽기도 쓰기와 마찬가지로 동기/비동기 방식으로 이루어져 있습니다.

 

파일읽기

-server.js

/**
/**
 * http://usejsdoc.org/
 */
/*파일 읽기 동기 방식*/
var fs = require("fs");
 
try {
    var fd = fs.readFileSync("./syncTest.txt","utf8");
    console.log(fd);
}catch (e) {
    console.log(e);
}

 

-server2.js

/**
/**
 * http://usejsdoc.org/
 */
/*파일 읽기 동기 방식*/
var fs = require("fs");
 
try {
    var fd = fs.readFileSync("./syncTest.txt","utf8");
    console.log(fd);
}catch (e) {
    console.log(e);
}

 

- console 결과창

Hello, Jsnode! Sync~!!
Hello, Jsnode! ASync!!!!!

 

이 결과는 아까 파일을 썻던 글을 읽는 과정을 확인하기 위해서 넣었습니다.

마지막으로 이것들의 차이는 직접 눈으로 확인하고 생각해보시길 바랍니다~!!ㅎㅎㅎ

 

- 참고링크

node.js 파일시스템 - https://m.blog.naver.com/seilius/130182883352

728x90
반응형
LIST