2014-02-16 4 views
4

Я пытаюсь обрабатывать большие текстовые файлы на языке Dart. Файлы имеют размер более 100 МБ.Чтение файла строки за строкой в ​​dart

Я пробовал readAsLines и readAsLinesSync методы dart:io библиотека. Каждый раз, когда у меня заканчивается память: Exhausted heap space.

Есть ли способ читать файл по строкам или байтам по байтам, как на других языках?

+2

Можете привести код. –

ответ

6

Это должен прочитать файл на куски:

import 'dart:async'; 
import 'dart:io'; 
import 'dart:convert'; 

main() { 
    var path = ...; 
    new File(path) 
    .openRead() 
    .transform(UTF8.decoder) 
    .transform(new LineSplitter()) 
    .forEach((l) => print('line: $l')); 
} 

Существует не так много документации по этому поводу пока нет. Возможно, зарегистрируйте ошибку, запрашивая больше документов.

Смежные вопросы