Метод writeAsBytes
Метод writeAsBytes класса File записывает
список байтов в файл и возвращает Future,
который завершается объектом File после
успешной записи. Первым параметром метод принимает
список байтов (тип List<int>),
вторым необязательным параметром - режим открытия файла
FileMode. По умолчанию используется FileMode.write,
который перезаписывает содержимое файла. Также есть
синхронная версия метода - writeAsBytesSync.
Синтаксис
Future<File> writeAsBytes(List<int> bytes, [FileMode mode = FileMode.write])
Пример
Давайте запишем список байтов в файл и прочитаем его обратно как строку:
import 'dart:io';
void main() async
{
File file = File('test.txt');
await file.writeAsBytes([97, 98, 99, 100, 101]);
String content = await file.readAsString();
print(content);
}
Результат выполнения кода:
"abcde"
Пример
Давайте запишем байты, полученные из строки, используя кодировку UTF-8:
import 'dart:convert';
import 'dart:io';
void main() async
{
File file = File('test.txt');
List<int> bytes = utf8.encode('12345');
await file.writeAsBytes(bytes);
String content = await file.readAsString();
print(content);
}
Результат выполнения кода:
"12345"
Пример
Давайте допишем байты в конец файла,
используя режим FileMode.append:
import 'dart:convert';
import 'dart:io';
void main() async
{
File file = File('test.txt');
await file.writeAsBytes(utf8.encode('abcde'));
await file.writeAsBytes(utf8.encode('12345'), FileMode.append);
String content = await file.readAsString();
print(content);
}
Результат выполнения кода:
"abcde12345"
Смотрите также
-
метод
writeAsString,
который записывает строку в файл -
метод
readAsBytes,
который читает файл как список байтов -
метод
readAsBytesSync,
который синхронно читает файл как байты -
класс
FileMode,
который задает режим открытия файла