флаттер: где находится текстовый файл, который я создал - PullRequest
0 голосов
/ 18 апреля 2020

Я написал приложение с флаттером, которое создает текстовый файл, и все работает хорошо на эмуляторе и на реальном устройстве. Но мне нужно открыть файл на моем устройстве, и я не могу его найти. Где я должен это искать? (Я использую SM G615F Samsung Galaxy J7 Max) Большое спасибо.

1 Ответ

0 голосов
/ 18 апреля 2020

Я думаю, это то, что вы просите

Future<int> readFile() async {
  try {
    final file = await _localFile();

    // Read the file.
    String contents = await file.readAsString();

    return contents;
  } catch (e) {
    // If encountering an error, return 0.
    return 0;
  }
}

Future<File> _localFile() async {
    // get the path to the document directory.
    String dir = (await PathProvider.getApplicationDocumentsDirectory()).path;
    return new File('$dir/YourFileName.txt');
  }

Файл будет там, где вы его написали. Основными двумя каталогами, в которые вы, вероятно, записали бы его, будет

Временный каталог
Временный каталог (кэш), который система может очистить в любое время. На iOS это соответствует NSCachesDirectory. В Android это значение, которое возвращает getCacheDir ().

Каталог документов
Каталог приложения, в котором хранятся файлы, к которым имеет доступ только он. Система очищает каталог только при удалении приложения. На iOS это соответствует NSDocumentDirectory. На Android это каталог AppData.

Взгляните на этот пакет, я думаю, он может вас заинтересовать downloads_path_provider .

import 'package:downloads_path_provider/downloads_path_provider.dart';  

Future<Directory> downloadsDirectory = DownloadsPathProvider.downloadsDirectory;

В этом коде каталог downloads - это каталог загрузок в памяти телефона, который может просматривать пользователь. Затем вы можете открыть или отправить его по электронной почте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...