我有6 GB的文本文件。我想读取这个文件,解析每行的数据,并将其保存在我的数据库中。但由于内存问题,不可能一次读取整个6 GB文件。因此,我如何逐块读取数据,然后处理它?
dzjeubhm1#
也许你可以试试read函数。它允许一个参数来限制文件中的字节数或字符数。
e5nszbig2#
大概是这样的
process_file(Filename) -> {ok, F} = file:open(Filename, [read]), process_lines(F). process_lines(F) -> case file:read_line(F) of {ok, Line} -> %% do something with Line process_lines(F); eof -> file:close(F) end.
2条答案
按热度按时间dzjeubhm1#
也许你可以试试read函数。它允许一个参数来限制文件中的字节数或字符数。
e5nszbig2#
大概是这样的