[flutter] 플러터 앱의 파일 처리 (File Handling) 방법

플러터는 크로스 플랫폼 앱 개발을 위한 프레임워크로, 다양한 앱에서 파일을 처리하는 기능이 필요한 경우가 있습니다. 이번 글에서는 플러터 앱에서 파일 처리를 하는 방법에 대해 알아보겠습니다.

1. 파일 쓰기

플러터에서 파일을 쓰기 위해서는 다음의 단계를 따라야 합니다.

  1. 파일에 쓸 데이터를 준비합니다.
  2. dart:io 패키지의 File 클래스를 사용하여 파일 객체를 생성합니다.
  3. 파일 객체의 writeAsString 메서드를 사용하여 데이터를 파일에 씁니다.

아래는 파일을 쓰는 예제 코드입니다.

import 'dart:io';

void writeFile() async {
  String data = "Hello, Flutter!";

  Directory directory = await getApplicationDocumentsDirectory();
  String path = '${directory.path}/myFile.txt';

  File file = File(path);
  file.writeAsString(data);
}

getApplicationDocumentsDirectory 함수는 플랫폼에 따라 앱의 문서 디렉터리를 반환합니다. 이렇게 반환된 디렉터리 경로를 사용하여 파일 객체를 생성하고, writeAsString 함수를 통해 파일에 데이터를 씁니다.

2. 파일 읽기

플러터에서 파일을 읽기 위해서는 다음의 단계를 따라야 합니다.

  1. dart:io 패키지의 File 클래스를 사용하여 파일 객체를 생성합니다.
  2. 파일 객체의 readAsString 메서드를 사용하여 파일 데이터를 읽습니다.

아래는 파일을 읽는 예제 코드입니다.

import 'dart:io';

void readFile() async {
  Directory directory = await getApplicationDocumentsDirectory();
  String path = '${directory.path}/myFile.txt';

  File file = File(path);
  String data = await file.readAsString();
  
  print(data);
}

readAsString 함수를 통해 파일의 데이터를 읽을 수 있습니다. 읽어온 데이터는 String 형태로 반환되며, 필요에 따라 이를 활용할 수 있습니다.

3. 파일 삭제

플러터에서 파일을 삭제하기 위해서는 다음의 단계를 따라야 합니다.

  1. dart:io 패키지의 File 클래스를 사용하여 파일 객체를 생성합니다.
  2. 파일 객체의 delete 메서드를 사용하여 파일을 삭제합니다.

아래는 파일을 삭제하는 예제 코드입니다.

import 'dart:io';

void deleteFile() async {
  Directory directory = await getApplicationDocumentsDirectory();
  String path = '${directory.path}/myFile.txt';

  File file = File(path);
  file.delete();
}

delete 함수를 호출하여 파일을 삭제할 수 있습니다. 파일이 삭제되면, 해당 파일에 대한 접근이 불가능해집니다.

요약

위에서는 플러터 앱에서 파일을 처리하는 방법에 대해 알아보았습니다. 파일 쓰기, 파일 읽기, 파일 삭제에 관한 기본적인 내용을 다루었습니다. 파일 처리는 플러터 앱의 다양한 기능을 구현하는 데 필수적인 요소이므로, 잘 이해하고 활용할 수 있도록 실습을 통해 익숙해져야 합니다.

더 자세한 내용은 Dart 파일 처리 공식 문서를 참고하시기 바랍니다.