[flutter] 플러터에서 앱 내부 저장소의 디렉토리 삭제하기

앱 개발 중에는 종종 앱 내에 생성된 디렉토리나 파일을 삭제해야 하는 경우가 있습니다. 이번 글에서는 플러터(Flutter)에서 앱 내부 저장소의 디렉토리를 삭제하는 방법을 알아보겠습니다.

1. path_provider 패키지 설치하기

먼저, 디렉토리를 삭제하기 위해 path_provider 패키지를 설치해야 합니다. path_provider 패키지는 앱의 디렉토리 경로를 찾는데 사용됩니다.

dependencies:
  path_provider: ^2.0.1

pubspec.yaml 파일에 위와 같이 path_provider 패키지를 추가하고, 패키지를 다운로드해주세요.

2. 디렉토리 삭제 함수 작성하기

디렉토리 삭제를 위한 함수를 작성해보겠습니다. 다음의 코드를 참고해주세요.

import 'package:path_provider/path_provider.dart';
import 'dart:io';

Future<void> deleteDirectory(String directoryPath) async {
  Directory directory = Directory(directoryPath);

  if (await directory.exists()) {
    await directory.delete(recursive: true);
    print('디렉토리 삭제 성공!');
  } else {
    print('해당 디렉토리가 존재하지 않습니다.');
  }
}

위의 코드에서 deleteDirectory 함수는 삭제할 디렉토리 경로를 매개변수로 받습니다. path_provider 패키지의 Directory 클래스를 사용하여 디렉토리 객체를 생성하고, exists 메서드를 통해 디렉토리가 존재하는지 확인합니다. 만약 디렉토리가 존재한다면 delete 메서드를 사용하여 디렉토리를 삭제합니다. recursive 매개변수를 true로 설정하면 하위 디렉토리와 파일도 함께 삭제됩니다.

3. 디렉토리 삭제하기

디렉토리를 삭제하는 방법은 간단합니다. deleteDirectory 함수에 삭제할 디렉토리의 경로를 전달하여 호출하면 됩니다.

await deleteDirectory('/path/to/directory');

위의 코드에서 /path/to/directory 부분은 삭제하고자 하는 디렉토리의 경로로 수정해야 합니다.

마무리

이번에는 플러터에서 앱 내부 저장소의 디렉토리를 삭제하는 방법을 알아보았습니다. 디렉토리 삭제 시 주의해야 할 점은 삭제할 디렉토리의 경로가 정확히 맞아야 한다는 것입니다. 만약 잘못된 경로를 전달할 경우 해당 경로에 대한 삭제를 수행하지 않으니 주의하셔야 합니다.

더 자세한 내용은 official documentation을 참고하시기 바랍니다.