我尝试使用
一次通过标准输入读取100gb文件Port = open_port({fd, 0, 1}, [in, binary, {line, 4096}]),
但是这会给我的系统充满信息,直到我用完ram。有没有让它像{有效,一次}与端口?还有io:get_line(),但我想知道这是否可行。
答案 0 :(得分:1)
不,没有流量控制端口,所以如果你不能足够快地处理,你应该使用另一种处理方法。您可以使用
在STDIN
上设置二进制模式
ok = io:setopts(standard_io, [binary]),
如果您使用的是版本17或更新版本(存在影响性能的错误),则可以使用file:read_line(standard_io)
来阅读它。