fs 모듈
파일 생성, 읽기, 쓰기, 삭제, 이동, 이름 바꾸기 등 다양한 파일 시스템 작업을 수행하는데 활용 합니다.
파일 읽기; fs.readFile()
fs 모듈을 사용하여 파일을 읽을 수 있습니다. fs.readFile() 메소드를 사용하여 비동기적으로 파일을 읽을 수 있으며, fs.readFileSync() 메소드를 사용하여 동기적으로 파일을 읽을 수 있습니다.
- 해당 경로의 파일에 입력되어 있는 데이터를 읽어 옵니다.
const fs = require('fs');
// 비동기적으로 파일 읽기
fs.readFile('/path/to/file', 'utf8', (err, data) => {
ㄴ경로 ㄴ 인코딩 방식
if (err) throw err;
console.log(data);
});
// 동기적으로 파일 읽기
try {
const data = fs.readFileSync('/path/to/file', 'utf8');
console.log(data);
} catch (err) {
console.error(err);
}
위 코드에서는 readFile() 메소드를 사용하여 비동기적으로 파일을 읽습니다. 파일 경로와 파일 인코딩 방식( 'utf8'은 텍스트 파일을 읽을 때 사용하는 인코딩 방식 중 하나입니다)을 전달하며, 콜백 함수는 읽은 데이터를 전달합니다.
동기적으로 파일을 읽는 경우 readFileSync() 메소드를 사용합니다. 이 메소드는 예외 처리를 해주어야 합니다.
파일 쓰기 ;. fs.writeFile() , fs.writeFileSync()
fs 모듈을 사용하여 파일을 쓸 수 있습니다. fs.writeFile() 메소드를 사용하여 비동기적으로 파일을 쓸 수 있으며, fs.writeFileSync() 메소드를 사용하여 동기적으로 파일을 쓸 수 있습니다.
- 실제 해당 경로의 파일에 입력한 데이터가 저장됩니다.
- 동기적으로 처리하는 경우에는 반드시 try ~ catch를 사용하여 예외처리를 실시해야 합니다.
const fs = require('fs');
// 비동기적으로 파일 쓰기
fs.writeFile('/path/to/file', 'Hello, World!', (err) => {
if (err) throw err;
console.log('File written!');
});
// 동기적으로 파일 쓰기
try {
fs.writeFileSync('/path/to/file', 'Hello, World!');
console.log('File written!');
} catch (err) {
console.error(err);
}
위 코드에서는 writeFile() 메소드를 사용하여 비동기적으로 파일을 씁니다. 파일 경로, 쓸 내용, 콜백 함수를 전달합니다.
동기적으로 파일을 쓰는 경우 writeFileSync() 메소드를 사용합니다. 이 메소드는 예외 처리를 해주어야 합니다.
파일 삭제 ; fs.unlink()
fs.unlink() 메소드를 사용하여 파일을 삭제할 수 있습니다.
const fs = require('fs');
// 해당 경로의 파일을 삭제합니다.
fs.unlink('/path/to/file', (err) => {
if (err) throw err;
console.log('File deleted!');
});
파일 이동 ; fs.rename()
fs 모듈을 사용하여 파일을 이동하거나 이름을 변경할 수 있습니다. fs.rename() 메소드를 사용하여 파일을 이동하거나 이름을 변경할 수 있습니다.
const fs = require('fs');
// 파일 이동
fs.rename('/path/to/oldfile', '/path/to/newfile', (err) => {
if (err) throw err;
console.log('File moved!');
});
// 파일 이름 변경
fs.rename('/path/to/oldfile', '/path/to/newfile', (err) => {
if (err) throw err;
console.log('File renamed!');
});
위 코드에서는 rename() 메소드를 사용하여 파일을 이동하거나 이름을 변경합니다. 이전 파일 경로, 새로운 파일 경로, 콜백 함수를 전달합니다.
폴더 생성/삭제; fs.mkdir() , fs.rmdir()
fs.mkdir() 메소드를 사용하여 폴더를 생성할 수 있으며, fs.rmdir() 메소드를 사용하여 폴더를 삭제할 수 있습니다.
const fs = require('fs');
// 폴더 생성
fs.mkdir('/path/to/folder', (err) => {
if (err) throw err;
console.log('Folder created!');
});
// 폴더 삭제
fs.rmdir('/path/to/folder', (err) => {
if (err) throw err;
console.log('Folder deleted!');
});
파일/폴더 목록 조회 ; fs.readdir()
fs 모듈을 사용하여 파일과 폴더 목록을 조회할 수 있습니다. fs.readdir() 메소드를 사용하여 폴더 내 파일과 폴더 목록을 조회할 수 있습니다.
const fs = require('fs');
// 파일 및 폴더 목록 조회
fs.readdir('/path/to/folder', (err, files) => {
if (err) throw err; ㄴ목록들 배열정보가 담깁니다.
console.log(files);
});
위 코드에서는 readdir() 메소드를 사용하여 폴더 내 파일과 폴더 목록을 조회합니다. 폴더 경로, 콜백 함수를 전달합니다. 콜백 함수의 두 번째 인수인 files는 파일 및 폴더 목록을 포함하는 배열입니다.
파일 정보 조회 ; fs.stat
fs 모듈을 사용하여 파일 정보를 조회할 수 있습니다. fs.stat() 메소드를 사용하여 파일 정보를 조회할 수 있습니다.
const fs = require('fs');
// 파일 정보 조회
fs.stat('/path/to/file', (err, stats) => {
if (err) throw err;
console.log(stats);
});
위 코드에서는 stat() 메소드를 사용하여 파일 정보를 조회합니다. 파일 경로, 콜백 함수를 전달합니다. 콜백 함수의 두 번째 인수인 stats는 파일 정보를 포함하는 객체입니다. 파일 크기, 생성 시간, 수정 시간, 액세스 시간 등의 정보를 포함합니다.
'백엔드 > 노드' 카테고리의 다른 글
[node.js] package.json (0) | 2023.03.12 |
---|---|
[NodeJS] Buffer 클래스 (0) | 2023.03.09 |
[Node.js] 태스크 큐와 이벤트 큐 (0) | 2023.03.05 |
[Node.js] 노드에서 싱글 스레드/블로킹과 언블로킹/이벤트 루프 .../ (0) | 2023.03.04 |
[Node.js] 컨텍스트/ 컨텍스트 스위칭 / 컨텍스트 스위칭 오버헤드 (0) | 2023.03.04 |