Dart 학습: 파일 입출력
파일 입출력은 프로그램이 파일과 상호작용하여 데이터를 읽고 쓰는 중요한 기능입니다. Dart에서는 dart:io 라이브러리를 사용하여 파일과 디렉터리를 쉽게 관리할 수 있습니다. 이번 글에서는 파일 읽기와 쓰기, 디렉터리 생성, 삭제, 이동에 대해 알아보겠습니다.
1. 파일 읽기와 쓰기: 파일을 읽고 쓰는 방법
Dart에서 파일을 읽고 쓰는 방법을 살펴보겠습니다.
파일 쓰기 : 파일에 데이터를 쓰기 위해 File 클래스와 writeAsString 메서드를 사용합니다.
void main() async {
// 파일 객체 생성
File file = File('example.txt');
// 파일에 데이터 쓰기
await file.writeAsString('Hello, Dart!\n');
// 파일에 데이터 추가 쓰기
await file.writeAsString('Welcome to file I/O in Dart.', mode: FileMode.append);
print('파일 쓰기 완료');
}
위의 예제에서 writeAsString 메서드를 사용하여 파일에 문자열을 씁니다. FileMode.append 모드를 사용하면 기존 파일 내용 뒤에 데이터를 추가할 수 있습니다.
파일 읽기 : 파일에서 데이터를 읽기 위해 File 클래스와 readAsString 메서드를 사용합니다.
void main() async {
// 파일 객체 생성
File file = File('example.txt');
// 파일에서 데이터 읽기
String contents = await file.readAsString();
print('파일 내용:');
print(contents);
}
위의 예제에서 readAsString 메서드를 사용하여 파일의 내용을 문자열로 읽습니다.
2. 디렉터리 관리: 디렉터리 생성, 삭제, 이동
Dart에서는 Directory 클래스를 사용하여 디렉터리를 생성, 삭제, 이동할 수 있습니다.
디렉터리 생성 : 디렉터리를 생성하기 위해 Directory 클래스와 create 메서드를 사용합니다.
void main() async {
// 디렉터리 객체 생성
Directory dir = Directory('example_dir');
// 디렉터리 생성
if (!await dir.exists()) {
await dir.create();
print('디렉터리 생성 완료');
} else {
print('디렉터리가 이미 존재합니다');
}
}
위의 예제에서 create 메서드를 사용하여 디렉터리를 생성합니다. 디렉터리가 이미 존재하는지 확인하기 위해 exists 메서드를 사용합니다.
디렉터리 삭제 : 디렉터리를 삭제하기 위해 Directory 클래스와 delete 메서드를 사용합니다.
void main() async {
// 디렉터리 객체 생성
Directory dir = Directory('example_dir');
// 디렉터리 삭제
if (await dir.exists()) {
await dir.delete();
print('디렉터리 삭제 완료');
} else {
print('삭제할 디렉터리가 존재하지 않습니다');
}
}
위의 예제에서 delete 메서드를 사용하여 디렉터리를 삭제합니다.
디렉터리 이동 : 디렉터리를 이동하기 위해 Directory 클래스와 rename 메서드를 사용합니다.
void main() async {
// 디렉터리 객체 생성
Directory dir = Directory('example_dir');
Directory newDir = Directory('new_example_dir');
// 디렉터리 이동
if (await dir.exists()) {
await dir.rename(newDir.path);
print('디렉터리 이동 완료');
} else {
print('이동할 디렉터리가 존재하지 않습니다');
}
}
위의 예제에서 rename 메서드를 사용하여 디렉터리를 새 위치로 이동합니다.
이 글에서는 Dart의 파일 입출력에 대해 알아보았습니다. 파일 읽기와 쓰기, 디렉터리 생성, 삭제, 이동을 이해하고 활용하면 파일 시스템과 상호작용하는 프로그램을 작성할 수 있습니다. 다음 단계에서는 라이브러리와 패키지에 대해 학습해보세요. Happy Coding!
'프로그래밍 > Dart' 카테고리의 다른 글
[Dart] 10. Dart의 "고급 주제" (0) | 2024.06.19 |
---|---|
[Dart] 9. Dart의 "라이브러리와 패키지" (0) | 2024.06.19 |
[Dart] 7. Dart의 "비동기 프로그래밍" (0) | 2024.06.19 |
[Dart] 6. Dart의 "예외 처리" (0) | 2024.06.19 |
[Dart] 5. Dart의 "컬렉션" (0) | 2024.06.19 |