Node.js의 fs (File System) 모듈은 파일 시스템과 상호 작용하기 위한 다양한 기능을 제공하는 핵심 모듈이다. 주요 기능은 파일 및 디렉토리 생성, 읽기, 쓰기, 삭제 등이 포함되어 있다.
https://nodejs.org/docs/latest/api/fs.html
1. 파일 읽기 및 쓰기 (Reading and Writing Files)
fs.readFile(path, options, callback) : 비동기적으로 파일을 읽는다.
fs.readFileSync(path, options) : 동기적으로 파일을 읽는다.
fs.writeFile(file, data, options, callback) : 비동기적으로 파일을 쓴다.
fs.writeFileSync(file, data, options) : 동기적으로 파일을 쓴다.
2. 디렉토리 조작 (Directory Manipulation)
fs.mkdir(path, options, callback) : 비동기적으로 디렉토리를 생성한다.
fs.mkdirSync(path, options) : 동기적으로 디렉토리를 생성한다.
fs.readdir(path, options, callback) : 비동기적으로 디렉토리의 내용을 읽는다.
fs.readdirSync(path, options) : 동기적으로 디렉토리의 내용을 읽는다.
3. 파일 및 디렉토리 삭제 (File and Directory Deletion)
fs.unlink(path, callback) : 비동기적으로 파일을 삭제한다.
fs.unlinkSync(path) : 동기적으로 파일을 삭제한다.
fs.rmdir(path, callback) : 비동기적으로 디렉토리를 삭제한다.
fs.rmdirSync(path) : 동기적으로 디렉토리를 삭제한다.
4. 파일 및 디렉토리 존재 여부 확인 (Checking File and Directory Existence)
fs.exists(path, callback) : 비동기적으로 파일 또는 디렉토리의 존재 여부를 확인한다. (deprecated: 사용을 권장하지 않음)
fs.existsSync(path) : 동기적으로 파일 또는 디렉토리의 존재 여부를 확인한다.
5. 파일 및 디렉토리 정보 가져오기 (Getting File and Directory Information)
fs.stat(path, callback) : 비동기적으로 파일 또는 디렉토리의 상태 정보를 가져온다.
fs.statSync(path) : 동기적으로 파일 또는 디렉토리의 상태 정보를 가져온다.
6. 파일 이동 및 이름 변경 (Moving and Renaming Files)
fs.rename(oldPath, newPath, callback) : 비동기적으로 파일을 이동하거나 이름을 변경한다.
fs.renameSync(oldPath, newPath) : 동기적으로 파일을 이동하거나 이름을 변경한다.
7. 파일 디스크립터를 사용한 파일 읽기 및 쓰기 (File Descriptor-based File Operations)
fs.open(path, flags, mode, callback) : 비동기적으로 파일을 연다.
fs.openSync(path, flags, mode) : 동기적으로 파일을 연다.
fs.read(fd, buffer, offset, length, position, callback) : 비동기적으로 파일에서 데이터를 읽는다.
fs.write(fd, buffer, offset, length, position, callback) : 비동기적으로 파일에 데이터를 쓴다.
fs.close(fd, callback) : 비동기적으로 파일을 닫는다.
대부분의 메서드가 비동기적으로 동작하며, 필요에 따라 동기적인 메서드나 Promise를 사용할 수 있다.
'STUDY > NodeJS' 카테고리의 다른 글
npm install으로 패키지 설치시에 사용되는 옵션들 (0) | 2024.01.10 |
---|---|
HTTP 모듈로 서버구축 및 실행 (0) | 2024.01.08 |
[3-4] 파일 및 디렉터리 경로 관리를 위한 path모듈 (0) | 2024.01.07 |
[7-2] 비밀번호 해싱 및 검증 라이브러리 - bcrypt (0) | 2023.12.13 |
Session secret key 생성하기 - crypto 모듈 (0) | 2023.12.08 |