[flutter] 플러터에서 앱 문서 디렉토리의 디렉토리 삭제하기

플러터에서는 path_provider 패키지를 사용하여 앱의 문서 디렉토리에 접근할 수 있습니다. 이 패키지는 플랫폼별로 문서 디렉토리의 경로를 제공하므로, 플러터 앱에서 파일을 저장하고 불러오는 데 사용할 수 있습니다.

만약 플러터 앱에서 앱 문서 디렉토리 내부에 있는 디렉토리를 삭제해야 한다면, dart:io 패키지를 사용하여 파일 시스템 조작을 수행할 수 있습니다. 다음은 디렉토리를 삭제하는 예제 코드입니다.

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

void deleteDirectory() async {
  // 앱 문서 디렉토리 경로 가져오기
  Directory appDocDir = await getApplicationDocumentsDirectory();
  
  // 삭제할 디렉토리 경로 생성
  String directoryPath = '${appDocDir.path}/my_directory';
  
  // 디렉토리 존재 여부 확인
  if (await Directory(directoryPath).exists()) {
    // 디렉토리 삭제
    await Directory(directoryPath).delete(recursive: true);
    print('디렉토리가 삭제되었습니다.');
  } else {
    print('디렉토리가 존재하지 않습니다.');
  }
}

위의 코드에서 getApplicationDocumentsDirectory()를 사용하여 앱 문서 디렉토리의 경로를 가져온 후, 해당 디렉토리의 경로를 지정하여 Directory 객체를 생성합니다. 만약 디렉토리가 존재한다면 delete 메서드를 호출하여 디렉토리를 삭제합니다.

또한 recursive 매개변수를 true로 설정하면 디렉토리 내부에 있는 모든 파일과 하위 디렉토리도 함께 삭제됩니다. false로 설정하면 비어있지 않은 경우에는 디렉토리를 삭제할 수 없습니다.

서버 또는 로컬 환경에서 파일 시스템 조작을 수행하기 때문에 필요에 따라 권한 확인 및 예외 처리 코드를 추가해야 합니다.

참고 자료: