Метод readAsString
Метод readAsString класса File асинхронно читает содержимое файла и возвращает его в виде строки. Метод возвращает объект Future<String>, поэтому для получения результата нужно использовать await или метод then. В первом необязательном параметре можно передать кодировку Encoding, по умолчанию используется utf8. Если файл не существует или недоступен для чтения, будет выброшено исключение FileSystemException.
Синтаксис
Future<String> readAsString([Encoding encoding = utf8])
Пример
Давайте создадим файл, запишем в него строку, а затем прочитаем её с помощью метода readAsString:
import 'dart:io';
void main() async
{
File file = File('test.txt');
await file.writeAsString('abcde');
String res = await file.readAsString();
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте прочитаем файл с явным указанием кодировки latin1:
import 'dart:io';
import 'dart:convert';
void main() async
{
File file = File('test.txt');
await file.writeAsString('12345', encoding: latin1);
String res = await file.readAsString(encoding: latin1);
print(res);
}
Результат выполнения кода:
"12345"
Пример
Давайте обработаем ситуацию, когда файл не существует, с помощью конструкции try-catch:
import 'dart:io';
void main() async
{
File file = File('missing.txt');
try {
String res = await file.readAsString();
print(res);
} catch (e) {
print('Error: file not found');
}
}
Результат выполнения кода:
"Error: file not found"
Смотрите также
-
метод
readAsStringSync,
который читает файл синхронно -
метод
readAsBytes,
который читает файл в виде байтов -
метод
writeAsString,
который записывает строку в файл -
класс
File,
который представляет файл в файловой системе