본문 바로가기
Nodejs

[Nodejs]비동기, 콜백 방식으로 파일 생성 및 쓰기 예시 만들기

by teamnova 2024. 12. 11.
728x90

오늘은 fs 모듈을 활용해 비동기 콜백 방식으로 파일 생성 및 쓰기 예시를 만들어 보겠습니다

 

fs 모듈 관련 자세한 설명은 아래 링크를 참고해 주세요

https://nodejs.org/docs/latest-v22.x/api/fs.html

 

 

 

 

1.프로젝트 생성 및 초기

mkdir 생성할 폴더명
cd 방금 생성한 폴더명
npm init -y

=> 원하는 경로에 폴더를 생성하고 해당 폴더로 이동 후 프로젝트 생성 및 초기화 시켜줍니다.

 

 

 

2.파일 생성(비동기 콜백 방식)에 사용할 js 파일 생성

touch js파일명

 

저는 위 이미지와 같이 생성하였습니다.

 

 

 

 

3.파일 생성(비동기 콜백 방식)에 사용할 js 파일 코드 작성

// fs 모듈 import
const fs = require('node:fs');
// path 모듈 import
const path = require('node:path');

// 생성할 파일의 경로와 파일명 설정
const filePath = path.join(__dirname, '생성할 파일명 입력');

// 파일에 쓸 내용 입력
const fileContent = '\n\n\n\n비동기 콜백 방식으로 생성한 파일에 넣을 내용입니다(1)\n\n\n\n비동기 콜백 방식으로 생성한 파일에 넣을 내용입니다(2)';

// 파일 열기 (쓰기 전용, 없으면 파일 생성)
// w 옵션: 쓰기 전용 모드로 열며 파일이 이미 존재하면 파일의 기존 내용을 모두 삭제해 비운상태로 만들고 새로 작성
fs.open(filePath, 'w', (err, fd) => {
    if (err) {
        console.error('파일 열기 실패:', err);
        return;
    }

    // 파일에 내용 쓰기
    fs.write(fd, fileContent, 'utf8', (err) => {
        if (err) {
            console.error('파일 쓰기 중 오류 발생:', err);
            return;
        }

        // 파일 닫기
        fs.close(fd, (err) => {
            if (err) {
                console.error('파일 닫기 실패:', err);
            } else {
                console.log(`(성공) 파일 생성 및 내용 기입 완료 되었습니다: ${filePath}`);
            }
        });
    });
});

 

 

 

실행 결과

 

실행시 파일이 정상적으로 생성되고 해당 파일에 내용이 쓰여진 것을 확인할 수 있습니다.