2014-02-16 43 views
4

我試圖用語言飛鏢處理大文本文件。這些文件的大小超過100 MB。在飛鏢中逐行讀取文件

我試過readAsLinesreadAsLinesSync方法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')); 
} 

沒有這個多文檔呢。也許提出一個要求更多文檔的錯誤。