Dart에서 파일을 삭제하는 방법에 대해서 알아보겠습니다.
1. File, Directory 객체 생성
Dart에서 파일에 접근하려면 먼저 'dart:io'
를 import해야 합니다.
그리고 아래와 같이 File(path)
처럼 상대 경로나 절대 경로를 입력하여 File 객체를 생성해야 합니다.
- File 객체에서 read, write, delete 등의 메소드 제공
File(test.txt)
는 상대 경로로, 프로젝트의 Working Directory와 같은 경로의 test.txt 파일을 의미함- 절대 경로는
File('C:\\YourDir\\test.txt');
처럼 입력할 수 있음
import 'dart:io';
void main() {
File file = File('test.txt');
}
Directory
디렉토리는 Directory(path)
로 경로를 전달하여 생성합니다.
Directory dir = Directory('dir path');
2. 파일 삭제
File.deleteSync()
는 해당 경로의 파일을 동기적으로 삭제합니다.
import 'dart:io';
void main() {
File file = File('test.txt');
// 동기적인 방식으로, 해당 경로의 파일 삭제
file.deleteSync();
}
위 코드를 실행하면, 파일이 삭제된 것을 확인할 수 있습니다.
파일 존재 유무 확인 후 삭제
만약 파일이 존재하는지 확인하고 삭제하고 싶을 때는 File.existsSync()
를 사용하여 파일의 존재 유무를 먼저 확인할 수 있습니다.
existsSync()
는 디렉토리가 존재할 때 true 리턴
import 'dart:io';
void main() {
File file = File('test.txt');
if (file.existsSync()) {
// 해당 경로의 파일 삭제
file.deleteSync();
}
}
3. 디렉토리 삭제
Directory.deleteSync()
는 해당 경로의 디렉토리를 동기적으로 삭제합니다.
- 디렉토리가 비어있지 않으면 삭제 실패함
import 'dart:io';
void main() {
Directory dir = Directory('aaaa');
// 동기적인 방식으로, 해당 경로의 디렉토리 삭제
dir.deleteSync();
}
디렉토리 및 하위 파일들 모두 삭제
deleteSync(recursive: true)
처럼 recursive: true
를 인자로 전달하면, 디렉토리 하위에 파일들이 있어도 재귀적으로 모두 삭제합니다.
import 'dart:io';
void main() {
Directory dir = Directory('aaaa');
// 해당 경로의 디렉토리와 하위 파일들 모두 삭제
dir.deleteSync(recursive: true);
}
파일 존재 후 삭제
Directory.existsSync()
로 디렉토리가 존재하는지 먼저 확인하고 삭제를 할 수 있습니다.
existsSync()
는 디렉토리가 존재할 때 true 리턴
import 'dart:io';
void main() {
Directory dir = Directory('aaaa');
if (dir.existsSync()) {
dir.deleteSync(recursive: true);
}
}
Loading script...
Related Posts
- Flutter/Dart - Future.delayed() 사용 방법
- Flutter/Dart - Stream 사용 방법
- Flutter/Dart - 파일, 디렉토리 삭제
- Flutter/Dart - 텍스트 파일 쓰기
- Flutter/Dart - 반복문 (for, while, for-in, forEach)
- Flutter/Dart - Static 변수, 메소드 선언
- Flutter/Dart - 텍스트 파일 읽기
- Flutter/Dart - 다양한 Null 체크 방법
- Flutter/Dart - Double을 Int로 변환
- Flutter/Dart - Double을 String으로 변환
- Flutter/Dart - String을 Double로 변환
- Flutter/Dart - String을 List로 변환
- Flutter/Dart - String에서 특정 문자열 Index 찾기
- Flutter/Dart - String 길이(length)
- Flutter/Dart - 몇 초 지연시키기, sleep
- Flutter/Dart - 날짜 계산, 년/월/일 더하고 빼기
- Flutter/Dart - 날짜 문자열을 DateTime으로 변환
- Flutter/Dart - 현재 시간 가져오기, DateTime
- Flutter/Dart - Map에 key-value 추가
- Flutter/Dart - Map 순회 방법
- Flutter/Dart - Map 선언 및 초기화
- Flutter/Dart - Map에서 Entry(key-value) 제거
- Flutter/Dart - key, value로 Map 정렬
- Flutter/Dart - 리스트 복사 방법
- Flutter/Dart - 리스트 합치는 방법
- Flutter/Dart - 리스트 최대값, 최소값 찾기
- Flutter/Dart - 리스트 요소 추가, 특정 위치 추가
- Flutter/Dart - 리스트 요소 제거
- Flutter/Dart - 리스트 합계, 평균 계산
- Flutter/Dart - 리스트 요소 값 변경, 찾기
- Flutter/Dart - 리스트 중복 제거
- Flutter/Dart - 리스트 정렬 (오름차순, 내림차순)
- Flutter/Dart - 리스트 자르기, 분리하기
- Flutter/Dart - 변수 타입 체크
- Flutter/Dart - 리스트 필터링