Как очистить флаттерный текстовый файл во время выполнения? - Дротик / флаттер - PullRequest
1 голос
/ 07 августа 2020

Есть ли способ полностью очистить текстовый файл перед записью в него?

Чтобы прояснить вопрос, созданный мной класс показан ниже: (Извините, пожалуйста, за запутанные имена, используемые для метода / класса / параметры ниже).


class ReadWriteUrl {
  Future<String> get _localPath async {
    final directory = await getApplicationDocumentsDirectory();

    return directory.path;
  }

  Future<File> get _localFile async {
    final path = await _localPath;

    return File('$path/Url.txt');
  }

  Future<String> readCounter() async {
    try {
      final file = await _localFile;

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

      return contents;
    } catch (e) {
      return "null";
    }
  }

  Future<File> writeCounter(String counter) async {
    final file = await _localFile;

    // Write the file
    return file.writeAsString('$counter');
  }
}

Однако каждый раз я пытаюсь написать любой текст; он не очищает текст полностью. Например, предположим, что текстовый файл содержит «Hello World» в строке 1 и «Hello Every» в строке 2, когда я вызываю метод ниже

writeCounter("Hi")

Результат становится «Hillo World» в строке 1 и Всем привет »в строке 2. Однако я хочу, чтобы во всем текстовом файле присутствовало только« Привет ». Есть ли способ удалить строки 1 и 2, т.е. очистить текстовый файл, прежде чем я вызову метод writeCounter ("Hi").

...