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
[파일 만들기]
파일 시스템 모듈에서 새 파일을 만든 방법 세가지
- fs.appendFile()
- fs.open()
- 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!');
});
[파일 업데이트]
파일 시스템 모듈에서 새 파일을 만든 방법 두가지
- fs.appendFile()
- 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 |