Метод readAsStringSync
Метод readAsStringSync класса File синхронно читает всё содержимое файла и возвращает его в виде строки. Первым параметром метод принимает именованный аргумент encoding, который задаёт кодировку для декодирования байтов в строку (по умолчанию используется utf8). Поскольку метод синхронный, он блокирует выполнение программы до завершения чтения файла.
Синтаксис
file.readAsStringSync({Encoding encoding = utf8})
Пример
Давайте создадим файл с текстом и синхронно прочитаем его содержимое:
import 'dart:io';
void main()
{
File file = File('test.txt');
file.writeAsStringSync('abcde');
String res = file.readAsStringSync();
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте прочитаем файл с указанием кодировки latin1:
import 'dart:io';
import 'dart:convert';
void main()
{
File file = File('test.txt');
file.writeAsStringSync('12345');
String res = file.readAsStringSync(encoding: latin1);
print(res);
}
Результат выполнения кода:
"12345"
Пример
Давайте попробуем прочитать несуществующий файл и обработаем исключение:
import 'dart:io';
void main()
{
File file = File('missing.txt');
try
{
String res = file.readAsStringSync();
print(res);
}
catch (e)
{
print('Error: file not found');
}
}
Результат выполнения кода:
"Error: file not found"
Смотрите также
-
метод
readAsString,
который асинхронно читает файл как строку -
метод
readAsBytesSync,
который синхронно читает файл как байты -
метод
readAsLines,
который асинхронно читает файл построчно -
метод
writeAsStringSync,
который синхронно записывает строку в файл