본문 바로가기
STUDY/NodeJS

[3-5] 파일 및 디렉터리 생성, 수정, 삭제 - File System(fs)모듈

by Y.Choi 2024. 1. 7.
728x90
반응형

 

Node.js의 fs (File System) 모듈은 파일 시스템과 상호 작용하기 위한 다양한 기능을 제공하는 핵심 모듈이다. 주요 기능은 파일 및 디렉토리 생성, 읽기, 쓰기, 삭제 등이 포함되어 있다.

 

https://nodejs.org/docs/latest/api/fs.html

 

fs모듈

 

 

 

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를 사용할 수 있다.

728x90
반응형