Dart: заменить содержимое внутри файла, используя RandomAccessFile - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь заменить содержимое внутри файла, используя класс RandomAccessFile "dart". Содержимое моего файла: Hello user World Мой код дротика:

import 'dart:io';

main() async{
  File file = File("test/testraf.txt");
  RandomAccessFile raf = await file.open(mode: FileMode.writeOnly);
  var f1 = await raf.setPosition(7);
  f1.writeString("John");
  f1.close();
}

Я пытаюсь заменить user на John . Но приведенный выше код повреждает мой файл и не выполняет запланированную работу. Вот что я намеревался сделать: Hello John World Как заменить содержимое внутри файла случайными записями?

Возможно ли, мое требование - заменить данные в произвольном месте внутри файла, не создавая другую копиюфайла?

1 Ответ

0 голосов
/ 02 ноября 2019

ок, ребята, проблема в том, что режим файла должен быть: FileMode.writeOnlyAppend. Рабочий код будет:

import 'dart:io';

main() async{
  //File content: Hello user World
  File file = File("test/testraf.txt");
  RandomAccessFile raf = await file.open(mode: FileMode.writeOnlyAppend);
  var f1 = await raf.setPosition(6);
  await f1.writeString("John");
  await f1.close();
}

Таким образом, он выведет: Hello John World

...