본문 바로가기

LECTURE/# Node.js basic

[초급 Node.js] 파일 시스템 모듈

반응형

by commin

파일 시스템 모듈

Node.js의 파일 시스템 모듈(fs)은 파일과 디렉토리를 다루기 위한 다양한 메서드를 제공합니다. 이 모듈을 사용하여 파일 읽기/쓰기, 디렉토리 생성/삭제, 파일 및 디렉토리의 존재 여부 확인 등의 작업을 수행할 수 있습니다.

const fs = require('fs');

파일 읽기 및 쓰기

파일 읽기

fs 모듈의 readFile() 메서드를 사용하여 파일을 읽을 수 있습니다. 이 메서드는 비동기적으로 파일을 읽으며, 파일을 읽은 후 콜백 함수를 호출합니다.

fs.readFile('file.txt', 'utf8', function(err, data) {
  if (err) throw err;
  console.log(data);
});

위 코드에서 첫 번째 인자는 읽을 파일의 경로를 나타냅니다. 두 번째 인자는 인코딩 타입을 나타내며, 생략하면 기본값으로 utf8이 지정됩니다. 마지막 인자는 파일을 읽은 후 호출될 콜백 함수입니다. 콜백 함수의 첫 번째 인자는 에러를, 두 번째 인자는 파일의 내용을 나타냅니다.

파일 쓰기

fs 모듈의 writeFile() 메서드를 사용하여 파일에 쓸 수 있습니다. 이 메서드도 비동기적으로 파일을 쓰며, 파일을 쓴 후 콜백 함수를 호출합니다.

fs.writeFile('file.txt', 'Hello, world!', function(err) {
  if (err) throw err;
  console.log('파일이 성공적으로 저장되었습니다.');
});

위 코드에서 첫 번째 인자는 쓸 파일의 경로를 나타내며, 두 번째 인자는 쓸 내용을 나타냅니다. 마지막 인자는 파일을 쓴 후 호출될 콜백 함수입니다. 콜백 함수의 첫 번째 인자는 에러를 나타냅니다.

파일 삭제

파일 삭제는 fs.unlink() 메서드를 사용합니다. 이 메서드는 파일의 경로를 인자로 받으며, 해당 파일을 삭제합니다. 삭제가 완료되면 에러가 발생하지 않습니다.

const fs = require('fs');

fs.unlink('file.txt', (err) => {
  if (err) {
    console.error(err);
  } else {
    console.log('파일이 성공적으로 삭제되었습니다.');
  }
});

위 코드에서는 example.txt 파일을 삭재하고 있습니다. unlink() 메서드는 콜백 함수를 인자로 받으며, 삭제가 성공적으로 이루어졌는지 여부를 확인할 수 있습니다. 삭제가 실패하면 콜백 함수의 첫 번째 매개변수로 에러 객체가 전달됩니다. 삭제가 성공하면 에러가 발생하지 않습니다.

디렉토리 생성 및 삭제

디렉토리 생성

디렉토리를 생성하기 위해서는 fs.mkdir() 메서드를 사용합니다. 이 메서드는 새 디렉토리를 생성하는데 사용됩니다. 다음은 fs.mkdir()을 사용하여 새 디렉토리를 생성하는 방법입니다.

const fs = require('fs');

// 새 디렉토리 생성
fs.mkdir('./myDir', (err) => {
  if (err) throw err;
  console.log('새 디렉토리가 생성되었습니다.');
});

위 코드에서 fs.mkdir() 메서드의 첫 번째 매개변수로 생성할 디렉토리 경로를 전달하고, 두 번째 매개변수로는 콜백 함수를 전달합니다. 콜백 함수는 에러가 없이 실행되면 디렉토리가 성공적으로 생성된 것입니다.

디렉토리 삭제

디렉토리를 삭제하기 위해서는 fs.rmdir() 메서드를 사용합니다. 이 메서드는 지정된 디렉토리를 삭제하는 데 사용됩니다. 다음은 fs.rmdir()을 사용하여 디렉토리를 삭제하는 방법입니다.

const fs = require('fs');

// 디렉토리 삭제
fs.rmdir('./myDir', (err) => {
  if (err) throw err;
  console.log('디렉토리가 삭제되었습니다.');
});

위 코드에서 fs.rmdir() 메서드의 첫 번째 매개변수로 삭제할 디렉토리 경로를 전달하고, 두 번째 매개변수로는 콜백 함수를 전달합니다. 콜백 함수는 에러가 없이 실행되면 디렉토리가 성공적으로 삭제된 것입니다.

디렉토리 내 파일 목록 가져오기

특정 디렉토리 내의 파일 목록을 가져오기 위해서는 fs.readdir() 메서드를 사용합니다. 이 메서드는 지정된 디렉토리 내의 파일과 디렉토리 목록을 가져오는 데 사용됩니다. 다음은 fs.readdir()을 사용하여 디렉토리 내의 파일 목록을 가져오는 방법입니다.

const fs = require('fs');

// 디렉토리 내 파일 목록 가져오기
fs.readdir('./myDir', (err, files) => {
  if (err) throw err;
  console.log(files);
});

위 코드에서 fs.readdir() 메서드의 첫 번째 매개변수로 파일 목록을 가져올 디렉토리 경로를 전달하고,두 번째 매개변수로 콜백 함수를 전달합니다. 이 콜백 함수는 파일 목록을 받아 처리하는 역할을 합니다. fs.readdir() 메서드는 콜백 함수의 두 번째 매개변수로 현재 디렉토리의 파일 목록을 배열 형태로 전달합니다. 이를 이용해 디렉토리에 포함된 파일들의 이름을 출력할 수 있습니다.

반응형