【发布时间】:2013-12-03 17:23:19
【问题描述】:
我有 500,000 个文件需要在 Fortran 中读取,每个文件中有大约 14,000 个条目(每个条目只有大约 100 个字符长)。我需要一次处理每个文件的每一行。例如,我需要先处理所有 500,000 个文件的第 1 行,然后再从文件转到第 2 行,依此类推。
我不能一次打开它们(我尝试创建一个文件指针数组并将它们全部打开),因为一次打开的文件太多。相反,我想做如下的事情:
do iline = 1,Nlines
do ifile = 1,Nfiles
! open the file
! read a line
! close the file
enddo
end
希望这能让我一次读取一行(从每个文件中),然后继续到下一行(在每个文件中)。不幸的是,每次我打开文件时,它都会再次从第 1 行开始。有什么方法可以打开/关闭文件,然后在您之前离开的地方再次打开它?
谢谢
【问题讨论】:
-
我认为标题有点误导,因为问题不在于实际同时打开所有这些文件。管理如此大量的文件和数据似乎也是一种令人惊讶的简单方法。您是否考虑过建立数据库管理系统?