White Whale Studio

[Node.js] File System Module 본문

IT Engineering/MEAN Stack

[Node.js] File System Module

glorymind 2018. 8. 30. 15:53
반응형

파일 시스템 모듈을 사용한 파일 서버를 작성해 봅니다.


var fs = require('fs');  이와 같이 include 하면되고 일반 적인 기능을 보면

Read, Create, Update, Delete, Renames files 정도가 있다고 합니다.

순서대로 한번씩 해보겠습니다.


우선 파일로 읽기(Read)를 해보기위해 demofile1.html 을 하나 만들어서 다음과 같이 입력합니다.

1
2
3
4
5
6
7
<html>
  <body>
    <h1>My Header</h1>
    <p>My paragraph.</p>
  </body>
</html>
 
cs

이제 Node.js에서 위의 html 파일을 읽어서 화면에 출력해볼겁니다.


demo_readfile.js라는 파일을 하나 만들고 다음과 같이 입력합니다.


1
2
3
4
5
6
7
8
9
10
var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
  fs.readFile('demofile1.html'function(err, data) {
    res.writeHead(200, {'Content-Type''text/html'});
    res.write(data);
    res.end();
  });
}).listen(8989);
 
cs

 

소스를 한번 볼까요.

http와 fs 변수에 모듈을 추가해 주고

중간 지점에서 fs.readfile로 아까 만들어둔 demofile1.html을 읽습니다. 

보아하니 function에 있는 파라미터중 data를 통해 실제 demofile1.html 파일안에 있는 내용을 읽어서 출력하는것같습니다.

혹시나 싶어서 test.txt 파일을 하나 만들고 test라는 글자를 넣어서 동일하게 테스트해보니 똑같이 test로 뜹니다.


이번에는 생성(Create)를 해보겠습니다.

생성에는 

fs.appendFile(), fs.open(), fs.writeFile()

요렇게 3가지가 있습니다.

3가지 모두 파일을 생성하는 것은 동일하나 fs.open()의 경우 사용법이 약간 다르고 안에 내용을 쓰는 것도 다릅니다.

appendFile는 말그대로 기존 내용에 더하는것,

1
2
3
4
fs.appendFile('mynewfile1.txt''Hello content!'function (err) {
  if (err) throw err;
  console.log('Saved!');
});
cs

open은 두번째 인수로 w와 같이 읽기 옵션을 주고 여는 방식이며

1
2
3
4
5
6
var fs = require('fs');
 
fs.open('mynewfile2.txt''w'function (err, file) {
  if (err) throw err;
  console.log('Saved!');
});
cs

writeFile은 기존 내용을 무시하고 Replace하는 방식입니다.
1
2
3
4
5
6
var fs = require('fs');
 
fs.writeFile('mynewfile3.txt''Hello content!'function (err) {
  if (err) throw err;
  console.log('Saved!');
});
cs


Update를 살펴볼까요
사실 Update는 Create의 fs.appendFile과 fs.writeFile입니다.
중복되므로 앞의 소스를 참고합시다

Delete File을 볼까요
명령어는 fs.unlink()입니다.

1
2
3
4
5
6
var fs = require('fs');
 
fs.unlink('mynewfile2.txt'function (err) {
  if (err) throw err;
  console.log('File deleted!');
});
cs

명령어가 좀 낯설긴하네요. 이렇게 하면 해당 파일이 삭제된다고 해서 테스트 해보니 바로 삭제가 되네요.

마지막으로 Rename File입니다.
fs.rename()으로 사용합니다.
1
2
3
4
5
6
var fs = require('fs');
 
fs.rename('mynewfile1.txt''myrenamedfile.txt'function (err) {
  if (err) throw err;
  console.log('File Renamed!');
});
cs


명령어에 따라서 사용법이 약간씩 다르네요. 필요에 따라서 사용하면 될것같습니다.


반응형

'IT Engineering > MEAN Stack' 카테고리의 다른 글

[Node.js] NPM : Node Package Manager  (0) 2018.08.30
[Node.js] URL Module  (0) 2018.08.30
[Node.js] 모듈 만들어 보기  (0) 2018.08.30
[Node.js] Start!  (0) 2018.08.30
MEAN Stack 시작  (0) 2018.08.30
Comments