Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 파일을 읽고 쓰는 방법 – Node.js fs 모듈 활용 가이드

클라이언트 측에서는 파일 입출력이 불가능합니다

일반적인 브라우저 환경에서 실행되는 자바스크립트(JavaScript)는 보안 정책상 클라이언트 측에서 파일 시스템에 직접 접근하여 파일을 읽거나 쓸 수 없습니다. 대신 서버 측 환경인 Node.js에서 제공하는 fs(File System) 모듈을 사용하면 파일 입출력 작업을 손쉽게 처리할 수 있습니다.

fs 모듈은 동기(Sync) 방식과 비동기(Async) 방식의 함수를 모두 제공하며, 이를 통해 파일 생성, 읽기, 쓰기 등 다양한 파일 시스템 작업을 수행할 수 있습니다.

파일 쓰기 및 읽기 예제

먼저 main.js라는 이름의 자바스크립트 파일을 만들고 아래와 같은 코드를 작성해 보겠습니다.

var fs = require("fs");
console.log("Going to write into existing file");
// input.txt라는 파일을 열어 'Simply Easy Learning!'을 기록합니다.
fs.writeFile('input.txt', 'Simply Easy Learning!', function(err) {
    if (err) {
        return console.error(err);
    }
    console.log("Data written successfully!");
    console.log("Let's read newly written data");
    // 방금 작성한 파일을 읽어 전체 내용을 콘솔에 출력합니다.
    fs.readFile('input.txt', function (err, data) {
        if (err) {
            return console.error(err);
        }
        console.log("Asynchronous read: " + data.toString());
    });
});

코드 실행하기

작성한 main.js 파일을 실행하여 결과를 확인해 보겠습니다.

$ node main.js

실행 결과

Going to write into existing file
Data written successfully!
Let's read newly written data
Asynchronous read: Simply Easy Learning!

핵심 포인트 정리

  • fs.writeFile(): 지정한 파일에 데이터를 비동기적으로 기록하며, 파일이 존재하지 않으면 새로 생성합니다.
  • fs.readFile(): 지정한 파일의 내용을 비동기적으로 읽어옵니다.
  • 콜백 함수의 첫 번째 매개변수 err를 통해 오류 발생 여부를 확인하고 적절히 처리할 수 있습니다.

Node.js의 fs 모듈 동작 원리와 더 많은 사용법은 공식 튜토리얼 문서에서 확인할 수 있습니다.