通过避免将整个内容加载到内存中,有很多与处理大型数据集相关的问题。我的问题恰恰相反:我编写的代码逐行读取文件以避免内存溢出问题。但是,我刚刚被授权访问具有数百GB内存的强大工作站,消除了这个问题,并使磁盘访问成为瓶颈。
事实上,我编写的代码是为了使用fgetl
之类的函数逐行访问数据文件。是否可能以某种方式将文件句柄f = fopen('datafile.txt')
替换为与从文件读取的函数完全相同的其他方式替换文件句柄fgetl
,而不是从磁盘读取只返回存储在内存中的值? / p>
我想,例如,有一个大的单元格数组,文件内容按行分开,{{1}}只返回下一个。如果我必须为此编写自己的包装器,我该如何去做呢?