Dart에서 텍스트 파일을 읽는 방법에 대해서 알아보겠습니다.
1. File 객체 생성
Dart에서 파일을 읽으려면 먼저 'dart:io'
를 import해야 합니다.
그리고 아래와 같이 File(path)
처럼 상대 경로나 절대 경로를 입력하여 File 객체를 생성해야 합니다.
- File 객체에서 read 메소드 제공
File(test.txt)
는 상대 경로로, 프로젝트의 Working Directory와 같은 경로의 test.txt 파일을 의미함- 절대 경로는
File('C:\\YourDir\\test.txt');
처럼 입력할 수 있음
import 'dart:io';
void main() {
File file = File('test.txt');
}
2. 텍스트 파일 전체 읽기
File.readAsStringSync()
는 File의 모든 내용을 읽어서 String으로 리턴합니다.
예를 들어, Dart 프로젝트에 아래 내용이 있는 test.txt
파일을 추가하였습니다.
test.txt
Hello!
World!
Rust!
그리고 아래와 같이 readAsStringSync()
로 파일의 모든 내용을 읽고 출력할 수 있습니다.
import 'dart:io';
void main() {
File file = File('test.txt');
// File의 모든 내용을 가져옴
String contents = file.readAsStringSync();
print(contents);
}
Output:
Hello!
World!
Rust!
3. 텍스트 파일을 한줄 씩 읽음
위의 예제에서 파일의 모든 텍스트를 가져와서 한번에 출력하였습니다.
만약 Line 별로 읽고 Line 별로 출력하고 싶을 때는 아래와 같이 split()
을 이용할 수 있습니다.
readAsStringSync()
으로 텍스트 파일의 모든 내용 가져옴split(\n)
으로 전체 텍스트를 개행 문자로 분리하여, 한줄 씩 리스트에 저장함- for in 구문으로 리스트를 한줄 씩 출력
import 'dart:io';
void main() {
File file = File('test.txt');
// File의 모든 내용을 가져옴
String contents = file.readAsStringSync();
// 개행 문자로, 전체 String을 한줄 씩 분리함
List<String> lines = contents.split('\n');
for (String line in lines) {
print(line);
}
}
Output:
Hello!
World!
Rust!
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 - 리스트 필터링