Frontend/Node.js

Node.js File System Module

Developer Mobssie 2018. 12. 13. 07:30

Node.js as a File Server
Node.js file system module을 사용하면 컴퓨터의 파일 시스템을 사용하여 작업 할 수 있다.
파일 시스템 모듈을 포함하려면 require() 을 사용할 것.


var fs = require('fs');

- fs는 file system의 약자


파일 시스템 모듈의 일반적인 사용 : 

  • 파일 읽기 
  • 파일 만들기 
  • 파일 업데이트 
  • 파일 삭제 
  • 파일 이름 바꾸기 

[파일 읽기] 

fs.readFile()방법은 컴퓨터 파일을 읽는데 사용된다.
Node.js와 같은 폴더에 HTML 예시


demofile.html


<html>
<body>
<h1>My Header</h1>
<p>My paragraph.</p>
</body>
</html>


HTML 파일을 읽고, 내용을 반환하는 Node.js 파일 만들기


var http = require('http');
var fs = require('fs');
http.createServer(function (req, res) {
//Open a file on the server and return it's content:
fs.readFile('demofile1.html', function(err, data) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write(data);
return res.end();
});
}).listen(8080);


위의 코드를 “readfile.js”파일에 저장하고 파일을 시작.


$ node demo_readfile.js

http://localhost:8080



[파일 만들기] 

파일 시스템 모듈에서 새 파일을 만든 방법 세가지 

  1. fs.appendFile() 
  2. fs.open() 
  3. fs.writeFile() 

fs.appendFile()메서드 : 
지정된 내용을 파일에 추가한다. 파일이 존재 하지 않으면 파일으 생성된다. 

Ref.

appendFile() 메서드를 사용하여 새 파일을 만들기.


var fs = require('fs');
fs.appendFile('mynewfile1.txt','Hello content!',function(err){
if(err) throw err;
console.log('Saved!');
});

- throw 문(JavaScript) : try…catch…finally 문에서 처리할 수 있는 오류 조건을 만듬


fs.open()메서드 : 
두 번째 인수로 “플래그”를 사용하고, 플래그가 “쓰기”에 대해 “w”이면 지정된 파일이 쓰기 위해 열림.파일이 없으면 빈 파일이 만들어짐. 

- 플래그(flag) : 컴퓨터에서 무언가를 기억하거나 또는 다른 프로그램에게 약속된 신호를 남기기 위한 용도로 프로그램에 사용되는 미리 정의된 비트

Ref.

open () 메서드를 사용하여 비어있는 새 파일을 만들기


var fs = require('fs');
fs.open('mynewfile2.txt', 'w',function(err,file){
if(err) throw err;
console.log('Saved!');
});


fs.writeFile()메서드 : 
지정된 파일과 내용이있는 경우 해당 내용을 바꿈. 파일이 존재하지 않으면 지정된 내용을 포함하는 새 파일이 생성. 

Ref.

writeFile () 메서드를 사용하여 비어있는 새 파일을 만들기

var fs = require('fs');


fs.writeFile('file.txt','Hello content!',function (err){
if (err) throw err;
console.log('saved!');
});



[파일 업데이트] 

파일 시스템 모듈에서 새 파일을 만든 방법 두가지 

  1. fs.appendFile() 
  2. fs.writeFile() 

    fs.appendFile()메서드 : 
    지정된 파일의 끝에 지정된 내용을 추가.

Ref.

“This is my text.”를 추가하기.

var fs = require('fs');


fs.appendFile('mynewfile1.txt','This is my text', function (err){
if (err) throw err;
console.log('Updated!');
});


Ref.

“mynewfile3.txt”파일 내용 바꾸기.


var fs = require('fs');
fs.writeFile('mynewfile3.txt','This is my text', function(){
if (err) throw err;
console.log('Replaced!');
});


[파일 삭제] 

파일 시스템 모듈로 파일을 삭제하려면이 fs.unlink()방법을 사용 
fs.unlink()메서드는 지정된 파일을 삭제. 

Ref.

“mynewfile2.txt”삭제.

var fs = require('fs');
fs.unlink('mynewfile3.txt','This is my text', function(){
if (err) throw err;
console.log('File deleted!');
});


[파일 이름 바꾸기] 

fs.unlink()메소드는 지정된 파일의 이름을 바꿈. 

Ref.

“mynewfile1.txt”의 이름을 “myrenamedfile.txt”로 변경.

var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function(){
if (err) throw err;
console.log('File deleted!');
});







'Frontend > Node.js' 카테고리의 다른 글

nodemon  (0) 2024.04.03
node cors 해결하기  (0) 2024.03.23
node로 API 만들기 (express)  (0) 2024.03.23
node.js 와 Typescript module system에 대해서  (0) 2021.06.02