[flutter] 플러터에서 앱 내부 저장소에 파일 읽기

Flutter는 크로스 플랫폼 모바일 앱 개발을 위한 프레임워크로, 다양한 기기에서 동작하는 애플리케이션을 만들 수 있습니다. 이번에는 플러터에서 앱 내부 저장소에 저장된 파일을 읽는 방법에 대해 알아보겠습니다.

1. 앱 내부 저장소에 파일 저장하기

먼저, 앱 내부 저장소에 파일을 저장하는 방법부터 알아보겠습니다. Flutter에서는 path_provider 패키지를 사용하여 앱 내부 저장소의 경로를 얻을 수 있습니다.

  1. pubspec.yaml 파일에 path_provider 패키지를 추가합니다.
    dependencies:
      flutter:
     sdk: flutter
      path_provider: ^2.0.2
    
  2. main.dart 파일에서 path_provider 패키지를 import 합니다.
    import 'package:path_provider/path_provider.dart';
    
  3. 파일을 저장할 경로를 얻기 위해 다음 코드를 사용합니다.
    Future<String> getFilePath() async {
      Directory appDirectory = await getApplicationDocumentsDirectory();
      String filePath = "${appDirectory.path}/myFile.txt";
      return filePath;
    }
    
  4. 파일을 생성하고 내용을 저장하는 함수를 작성합니다.
    Future<void> writeFile() async {
      String filePath = await getFilePath();
      File file = File(filePath);
      await file.writeAsString("Hello, Flutter!");
    }
    

2. 앱 내부 저장소에서 파일 읽기

이제 파일을 저장한 후에는 앱 내부 저장소에서 파일을 읽을 수 있습니다.

  1. 파일을 읽어서 내용을 출력하는 함수를 작성합니다.
    Future<void> readFile() async {
      String filePath = await getFilePath();
      File file = File(filePath);
      if (await file.exists()) {
     String content = await file.readAsString();
     print(content);
      }
    }
    
  2. 본인이 원하는 시점에서 readFile() 함수를 호출하여 파일을 읽을 수 있습니다.
readFile();

이제 앱 내부 저장소에 저장된 파일을 읽을 수 있게 되었습니다. 이를 응용하여 다양한 파일 처리 작업을 수행할 수 있습니다.

참고: Flutter 패키지: path_provider