-
파일 / 디렉토리 입출력자바스크립트/Node.js 2023. 7. 11. 21:06
let fs = require('fs'); import fs from "fs"; let file = 'input.txt'; let path = './dir/a.txt';
파일 시스템 임포트
let arr=[]; fs.readFile(file, 'utf8', function(err, data) { arr = data.split('\n'); });
파일 읽기
여러줄로 이루어진 내용은 \n으로 스플릿 가능
let arr=[]; fs.readFile(file, 'utf8', function(err, data) { arr = data.split('\n'); }); let data = fs.readFileSync(file, 'utf8') arr = data.split('\n');
sync = 동기 = 순서 보장
read로 읽은 데이터는 read 함수 안에서 처리하던지
readFileSync를 사용해야된다.
var str = "abcd" fs.writeFile(file, str, 'utf8', function(error){ console.log('write end') });
파일 쓰기
str에 공백을 쓰면 파일 초기화
fs.writeFile('message.txt', 'Hello Node.js', (err) => { if (err) throw err; let data = fs.readFileSync('message.txt','utf-8'); }); fs.writeFileSync('message.txt', 'Hello Node.js') let data = fs.readFileSync('message.txt','utf-8');
write도 마찬가지.
fs.appendFile(file, str, function (err) { if (err) throw err; console.log('The "data to append" was appended to file!'); }); fs.appendFileSync(file, str);
이어 쓰기
if(fs.existSync(path){console.error("파일 없음!"); return;) fs.unlinkSync(path);
파일이 존재하는지 체크, 있으면 삭제
https://3dmpengines.tistory.com/1971
[Nodejs] fs (파일 시스템) 읽기, 쓰기, 붙여쓰기, 삭제 등등..
먼저 fs는 file system의 약자입니다. api 문서 링크 : http://nodejs.org/api/fs.html상당히 많은 함수를 포함하고 있는 파일시스테 모듈이지만 모듈의 반절은 권한관련입니다(node.js 의 개발자가 지독한 유닉
3dmpengines.tistory.com
const fs = require('fs'); // 파일 또는 디렉토리의 상태 및 정보를 가져오는 비동기 함수 fs.stat('example.txt', (err, stats) => { if (err) { console.error('파일 정보를 가져오는데 오류 발생:', err); return; } console.log('파일 정보:', stats); console.log('파일 크기:', stats.size, '바이트'); console.log('마지막 수정 시간:', stats.mtime); console.log('마지막 접근 시간:', stats.atime); console.log('소유자의 접근 권한:', stats.mode); });
파일 데이터 가져오기
==========================================================================================
if(fs.existSync(path){ rmSync(path, {recursive:true}); mkdirSync(path); }
파일 존재 확인, 삭제, 생성
rm에 recursive 옵션을 주면 하위 폴더까지 '재귀적으로' 전부 삭제
fs.mkdir(path, { recursive: true }, (err)=>{err && console.log(err)});
디렉토리 생성.
해당 폴더가 이미 존재하면 error를 throw하지만
recursive 옵션이 true면 무시한다 (디렉토리에 변화는 없음)
fs.readdirSync(path, {withFileTypes:true}).forEach(p=>{ const fileName = p.name; if(p.isDirectory()){ //디렉토리인 경우 } else{ //파일인 경우 const fileBuffer = fs.readFileSync(path+"/"+fileName); } }
디렉토리 내 파일을 전부 읽는 예제
withFileTypes 옵션을 주면 dir와 file을 구분 가능하다.
파일은 readFileSynce로 읽어 버퍼에 값을 넣는다.
Node.js 파일 시스템 관련 npm package 정리
node 기본 fs 모듈 documentation https://nodejs.org/api/fs.html fs-extra https://www.npmjs.com/package/fs-extra 종합 버전. node fs 모듈에 없는 추가적인 file system 함수들을 제공한다. npm 설명의 Why? 부분을 보면 알 수 있
still-growing.tistory.com
fs-extart같은 추가적인 패키지
'자바스크립트 > Node.js' 카테고리의 다른 글
CLI 만들기 (0) 2023.08.06 axios와 cheerio를 활용한 웹 크롤링 (0) 2023.07.11 ReadLine 데이터 입출력 (0) 2023.07.11 Node.js란 무엇인가 (0) 2023.07.10