티스토리 뷰

Dart에서 파일 또는 디렉토리를 삭제하는 방법에 대해서 알아보겠습니다.

 

 

1. dart:io를 import하기

'dart:io'를 import하면 File 클래스를 사용할 수 있으며, File 클래스에서 삭제 메소드를 제공합니다.

 

2. 파일 삭제

File(path)로 특정 경로에 대한 파일을 생성할 수 있으며, File#delete() 메소드로 파일을 삭제할 수 있습니다.

  • 동기적인 방식으로 삭제하려면 File#deleteSync()를 사용
import 'dart:io';

void main() {
  var file = File('경로/파일명');
  file.delete();
}

 

3. 디렉토리 삭제

디렉토리의 경우, Directory(path)로 객체를 생성할 수 있으며, delete() 메소드로 삭제할 수 있습니다.

만약 디렉토리 하위의 파일들도 함께 삭제하고 싶을 때는 "recursive: true"를 인자로 전달해야 합니다.

  • 동기적인 방식으로 삭제하려면 Directory#deleteSync()를 사용

 

import 'dart:io';

void main() {
  var directory = Directory('경로/디렉토리명');
  directory.delete(recursive: true);
}

 

4. 파일/디렉토리 존재 후 삭제

File 또는 Directory는 exists() 메소드를 제공하며 파일 존재 유무를 확인할 수 있습니다.

아래와 같이 파일/디렉토리가 존재하는지 체크 후, 삭제를 할 수 있습니다.

import 'dart:io';

void main() {
  var file = File('경로/파일명');
  file.exists().then((exists) {
    if (exists) {
      // 파일이 존재하는 경우에만 삭제합니다.
      file.delete();
      print('파일이 삭제되었습니다.');
    } else {
      print('파일이 존재하지 않습니다.');
    }
  });
}

동기적인 방식으로 존재 확인 및 삭제하려고 한다면, 아래와 같이 sync 메소드를 사용하면 됩니다.

import 'dart:io';

void main() {
  var file = File('경로/파일명');
  if (file.existsSync()) {
    file.deleteSync();
  }
}