我正在尝试使用Dart语言处理大型文本文件。这些文件的大小超过100 MB。
我尝试了readAsLines
库的readAsLinesSync
和dart:io
方法。每次我的内存耗尽:Exhausted heap space
。
有没有办法像其他语言一样逐行或逐字节地读取文件?
答案 0 :(得分:8)
这应该以块的形式读取文件:
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'));
}
目前还没有太多关于此的文档。也许提出一个要求更多文档的bug。
答案 1 :(得分:0)
在最新版本的dart中,UTF8.decoder现在是utf8.decoder:
/**
* This code should be added to functions.php of your theme
**/
add_filter('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');
function custom_default_catalog_orderby() {
return 'date'; // Can also use title and price
}