개발/Node js

[Node js]배열,객체 데이터 파일로 쓰기/읽기-fs,path

재근이 2021. 10. 11. 13:52
반응형

📝코드설명

파일로 저장 및 읽기 위해 fs 모듈을 사용했고, 윈도우 또는 리눅스에서 모두 경로 구분 토큰('/', '\')자동으로 구분 되도록 path 모듈을 사용했다.

fs 모듈의 함수는 모두 동기 방식으로 동작하도록 ~Sync 함수들을 사용했으며, 저장하려는 파일의 경로 폴더들이 있는지 existsSync함수로 확인하고 없다면 생성 되도록 mkdirSync함수에 {recursive:true} 옵션을 줬다.

저장할때는 객체 또는 배열이 문자열로 변환되서 저장하도록 JSON.stringfy 함수를 사용했으며, 반대로 읽을때는 저장한 문자열을 다시 JSON 형태로 변경 되도록 JSON.parse 함수를 사용했다.

const fs = require('fs');
const path = require('path');

const savePath = path.join(__dirname, "path1", 'path2');
const saveFileName = path.join(savePath, "testfile");
// const saveData = {name:"abc",age:30};
const saveData = ['저장', '방법', ['중간', '꼽사리'], 'parse', 'JSON'];
if (!fs.existsSync(savePath)) {
fs.mkdirSync(savePath, {recursive:true});
}
fs.writeFileSync(saveFileName, JSON.stringify(saveData));

const readData = fs.readFileSync(saveFileName);
console.log("readData : ");
console.log(JSON.parse(readData.toString()));

반응형