Flutter/Dart - 텍스트 파일 읽기

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

codechachaCopyright ©2019 codechacha