[모듈]
const fs = require("fs");
[디렉토리]
▣ 존재 확인
const bool = fs.existsSync("디렉토리경로");
▣ 생성
fs.mkdirSync("생성 디렉토리 경로");
[파일]
▣ 존재 확인
fs.exists("test.txt", function (exists) {
console.log(exists ? "it's there" : "no exists!");
});
▣ 생성
var fs = require('fs');
var file = 'test1.txt';
fs.open(file,'w',function(err,fd){
if (err) throw err;
console.log('file open complete');
});
fs.open() 해당 파일을 엽니다. 옵션 'w' 의 경우 해당 파일이 없다면 생성합니다.
해당 옵션에 따라 파일의 접근이 달라집니다.
r | 파일을 읽기로 열며 해당 파일이 없다면 에러발생 |
r+ | 읽기/쓰기 상태로 파일을 열며 파일이 없다면 에러 발생 |
w | 쓰기로 파일을 열며 존재 하지 않으면 생성. 파일이 존재하면 내용을 지우고 처음부터 씀. |
w+ | 읽기/쓰기로 열며 존재 하지 않으면 생성. 파일이 존재하면 내용을 지우고 처음부터 씀. |
a | 추가 쓰기로 열며 파일이 존재하지 않으면 만듬. |
a+ | 추가 읽기/쓰기로 열며 파일이 존재 하지 않으면 만듬. |
▣ 이름 변경 (이동)
var fs = require('fs');
fs.rename('test1.txt', 'text2.txt', function (err) {
if (err) throw err;
console.log('renamed complete');
});
fs.rename() 해당파일의 이름을 변경합니다. 예제는 test1.txt -> test2.txt 로 변경합니다.
해당 파일이 없거나 권한이 없다면 에러가 발생합니다. 또한 변경하려는 이름의 같은 이름의 파일이 존재하면 에러가 발생합니다.
▣ 삭제
var fs = require('fs');
fs.unlink('text2.txt', (err) => {
if (err) throw err;
console.log('successfully deleted text2.txt');
});
fs.unlink() 파일을 삭제 합니다. 예제의 경우 test2.txt 파일을 삭제 합니다.
해당 파이 없거나 권한이 없다면 에러가 발생합니다.
▣ 읽기
var fs = require('fs');
fs.readFile('test1.txt', 'utf8', function(err, data) {
console.log(data);
});
let data = fs.readFileSync("test2.txt", "utf8");
fs.readFile() 해당 파일을 읽습니다. 예제의 경우 test1.txt 파일을 읽고 콘솔로 출력합니다.
▣ 쓰기
□ 새로 쓰기
var fs = require('fs');
var data = 'file system example!!';
fs.writeFile('text1.txt', data, 'utf8', function(error){
console.log('write end')
});
fs.writeFile() 해당파일에 내용을 씁니다. 예제의 경우 test1.txt파일에 data의 내용을 씁니다.
만일 파일이 존재 하지 않으면 파일을 생성후 내용을 씁니다. 파일의 내용을 이어서 쓰진 않습니다.
□ 이어서 쓰기
var fs = require('fs');
fs.appendFile('test1.txt', 'data to append', function (err) {
if (err) throw err;
console.log('The "data to append" was appended to file!');
});
fs.appendFile() 해당 파일에 내용을 이어서 씁니다. 예제의 경우 test1.txt 에 'data to append' 를 이어서 씁니다. 파일이 없을경우 새로 생성하여 씁니다.
▣ 목록 불러오기
fs.readdir("./public/test/", (err, files) => {
if(err) console.log(err);
console.log(files);
});
▣ 복사
fs.createReadStream('test.log').pipe(fs.createWriteStream('newLog.log'));
▣ 크기
const STATS = fs.statSync("test.txt");
const FILESIZEINBYTES = STATS.size;
const FILESIZEINMEGABYTES = FILESIZEINBYTES / (1024*1024);
'컴퓨터 > NodeJS' 카테고리의 다른 글
PM2 사용법 (0) | 2021.10.28 |
---|---|
NodeJS 서버 생성, 실행 (0) | 2021.10.28 |
NodeJS 설치 (0) | 2021.10.26 |
NodeJS 에서 fetch() API 사용하기 (0) | 2021.05.14 |
NodeJS nodemailer (0) | 2019.06.19 |