Метод readAsLines
Метод readAsLines класса File читает
содержимое файла и возвращает его в виде списка
строк. Метод является асинхронным и возвращает
Future<List<String>>. В первый необязательный
параметр мы передаем кодировку Encoding
(по умолчанию utf8). Каждая строка в
возвращаемом списке не содержит символов
перевода строки.
Синтаксис
Future<List<String>> readAsLines([Encoding encoding = utf8])
Пример
Давайте создадим файл и прочитаем его содержимое по строкам:
import 'dart:io';
void main() async
{
File file = File('test.txt');
await file.writeAsString('line1\nline2\nline3');
List<String> res = await file.readAsLines();
print(res);
}
Результат выполнения кода:
[line1, line2, line3]
Пример
Давайте переберем все строки файла в цикле и выведем каждую из них отдельно:
import 'dart:io';
void main() async
{
File file = File('test.txt');
await file.writeAsString('abcde\n12345');
List<String> res = await file.readAsLines();
for (String line in res) {
print(line);
}
}
Результат выполнения кода:
"abcde"
"12345"
Пример
Давайте укажем кодировку latin1 вторым
параметром при чтении файла:
import 'dart:io';
void main() async
{
File file = File('test.txt');
await file.writeAsString('abcde\n12345');
List<String> res = await file.readAsLines(latin1);
print(res);
}
Результат выполнения кода:
[abcde, 12345]
Смотрите также
-
класс
File,
который представляет файл в файловой системе -
метод
readAsString,
который читает файл целиком в строку -
метод
readAsStringSync,
который синхронно читает файл в строку -
метод
readAsBytes,
который читает файл в список байтов