[flutter] 플러터에서 앱 데이터 디렉토리에 파일 읽기

플러터(Flutter)는 Google에서 개발한 모바일 앱 개발 프레임워크로, 앱 데이터를 로컬 파일로 저장하고 읽어오는 작업은 매우 일반적입니다. 이번 글에서는 플러터에서 앱 데이터 디렉토리에 있는 파일을 읽는 방법에 대해 알아보겠습니다.

앱 데이터 디렉토리에 파일 쓰기

먼저, 앱 데이터 디렉토리에 파일을 쓰는 방법을 간단히 알아보겠습니다. path_provider 패키지를 사용하면 앱 데이터 디렉토리의 경로를 얻을 수 있습니다. 이 패키지를 사용해 앱 데이터 디렉토리에 파일을 생성하고 쓸 수 있습니다. 다음은 간단한 예시입니다.

import 'package:path_provider/path_provider.dart';
import 'dart:io';

Future<void> writeToFile() async {
  final directory = await getApplicationDocumentsDirectory();
  final file = File('${directory.path}/data.txt');
  
  await file.writeAsString('Hello, World!');
  print('File saved.');
}

위의 코드에서는 getApplicationDocumentsDirectory() 함수를 사용하여 앱 데이터 디렉토리의 경로를 얻은 다음, 해당 경로에 data.txt 파일을 생성하고 “Hello, World!”라는 내용을 쓰고 있습니다. writeAsString() 함수를 사용하여 파일에 콘텐츠를 쓸 수 있습니다.

앱 데이터 디렉토리에 있는 파일 읽기

이제 앱 데이터 디렉토리에 있는 파일을 읽는 방법에 대해 알아보도록 하겠습니다. File 클래스의 readAsString() 함수를 사용하면 해당 파일의 내용을 읽을 수 있습니다. 다음은 예시 코드입니다.

import 'package:path_provider/path_provider.dart';
import 'dart:io';

Future<void> readFromFile() async {
  final directory = await getApplicationDocumentsDirectory();
  final file = File('${directory.path}/data.txt');

  if (await file.exists()) {
    final content = await file.readAsString();
    print('File content: $content');
  } else {
    print('File does not exist.');
  }
}

위의 코드에서는 await file.exists()를 사용하여 파일이 존재하는지 확인한 다음, readAsString() 함수를 사용하여 파일의 내용을 읽고 있습니다. 파일이 존재하지 않을 경우 “File does not exist.” 메시지를 출력합니다.

참고 자료

이상으로 앱 데이터 디렉토리에 있는 파일을 읽는 방법을 알아보았습니다. 다음 글에서는 다른 파일 작업, 예를 들면 파일 삭제와 같은 작업에 대해서 알아보도록 하겠습니다.