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