안녕하세요 노드에서 파일 작업을 하여야 하는 경우가 생겼는데 예전에 한번 썻었지만 기억도 나지않고
예전에 사용했던 경우는 그냥 단순 파일 쓰는 작업만 해서 이번에는 폴더가 있는지 체크해서 없으면
해당 폴더를 만든후에 -> 폴더를 만들고 해당 폴더 안에 파일을 작성하는 것을 포스팅 하려고합니다.
노드버전은 LTS버전인 10.6 기준입니다.
우선 기본적으로 알아야 할 것이 있습니다.
__dirname;
개인변수명 작성시에 preFix로 __로 지양 해야 겠네요
File System 에 대한 내용은 전부 docs 에 너무 잘되어있기 때문에 다른점은 참고 하셔도 될것 같습니다.
/* Node.js docs 10.6.0 Documentation - File System */
https://nodejs.org/dist/latest-v10.x/docs/api/fs.html
const fs = require('fs');
const _path = __dirname;
console.log(_path);
결과는 현재 폴더 트리의 위치가 나타나게 됩니다. __dirname을 알고 있어야 어느 폴더로 이동하여서
노드가 실행 되어도 문제가 되지 않을것 같습니다.
const fs = require('fs');
const currPath = __dirname+"/_test_/";
let version =currPath+'Fixed/';
let arr = ['linearlayout','button','datepicker'];
let contents_ =['content','tea','test','b','e','t','set','s','hg'];
let writeFile = (filename,contents)=> {
fs.open(filename,'w',(err,fd)=>{
if(err) throw err;
console.log('file Open - :',filename.split('/')[filename.split('/').length-1]);
fs.writeFile(fd,contents.join(','),(err)=>{
if(err) throw err;
console.log(filename + ' - write\n');
});
});
};
try{
if(!fs.existsSync(version)){
console.log(version.split('/')[version.split('/').length-1]+" 폴더가 없습니다.생성합니다.");
fs.mkdir(version,0700,function(err){
if(err) throw err;
for(let i=0;i<3;i++){
writeFile(version+arr[i]+'.txt',contents_);
}
});
}
else{
console.log(version.split('/')[version.split('/').length-2]+" 폴더가 존재합니다.");
for(let i=0;i<3;i++){
writeFile(version+arr[i]+'.txt',contents_);
}
}
}
catch(err){console.error(err);}
finally{
console.log('File System Working Clean');
}
'개발일지(Platform & Library) > Node.js' 카테고리의 다른 글
[Node.js] PM2 sh: pm2: command not found (0) | 2022.03.12 |
---|---|
[EXPRESS in Node.js] 익스프레스 개요 (더미데이터 서버 만들어보기) (0) | 2018.09.19 |
[Node.js] OverView (0) | 2018.06.26 |
[Node.js] Cenet OS 7 설치 (centos 7 Install) (0) | 2018.06.26 |
[Node.js] CORS (Cross Origin Resource Sharing) (1) | 2018.06.22 |