Свойство write
Свойство write класса FileMode представляет
собой константу перечисления, которая используется
при открытии файла для записи. Когда файл открывается
в режиме write, всё существующее содержимое файла
удаляется, а новая информация записывается с начала.
Если файла не существует, он будет создан. Данное
свойство обычно передаётся в метод open или
используется с методами записи класса File.
Синтаксис
FileMode.write
Пример
Давайте откроем файл в режиме записи и запишем в него строку. Для начала создадим файл с исходным содержимым, а затем перезапишем его:
import 'dart:io';
void main()
{
File file = File('test.txt');
file.writeAsStringSync('abcde');
RandomAccessFile raf = file.openSync(mode: FileMode.write);
raf.writeStringSync('12345');
raf.closeSync();
print(file.readAsStringSync());
}
Результат выполнения кода:
"12345"
Пример
Давайте убедимся, что при открытии в режиме write
старое содержимое файла полностью стирается. Запишем
сначала длинную строку, а затем короткую:
import 'dart:io';
void main()
{
File file = File('test.txt');
file.writeAsStringSync('abcdeabcde');
RandomAccessFile raf = file.openSync(mode: FileMode.write);
raf.writeStringSync('12345');
raf.closeSync();
print(file.readAsStringSync());
}
Результат выполнения кода:
"12345"
Как видим, хвост от старой строки не остался - файл был полностью перезаписан.
Пример
Давайте сравним режимы write и append.
В режиме append данные дописываются в конец файла,
а в режиме write - заменяют его содержимое:
import 'dart:io';
void main()
{
File file = File('test.txt');
file.writeAsStringSync('abcde');
RandomAccessFile raf = file.openSync(mode: FileMode.append);
raf.writeStringSync('12345');
raf.closeSync();
print(file.readAsStringSync());
}
Результат выполнения кода:
"abcde12345"
Смотрите также
-
класс
FileMode,
который содержит режимы открытия файла -
свойство
read,
которое задаёт режим чтения файла -
свойство
append,
которое задаёт режим дописывания в файл -
метод
writeAsString,
который записывает строку в файл