我的文件 A.txt 位于特定目录中,并且该目录的大小动态增加,因为一些日志文件保存在那里。每次我打开并读取这个文件,但问题是当内存已满时我无法打开和读取文件
在这里我不能增加内存的大小。有人可以通过提供更好的想法来提供帮助吗
很抱歉问这个笼统的问题。
如果整个文件无法放入内存,请不要将整个文件吞入内存;一次处理一行。或者获取更多内存。
将您的日志文件分成几部分。在分层组织的文件系统中保存单独的文件,并系统地命名它们。因此,如果您之前一天只有一个文件,
log121022.txt
说,
而是创建一个文件夹log120122
并在其中存储
log12102201.txt、log12102202.txt等
现在您正在为一天中的每个小时创建一个单独的文件。同样的原则适用于将几周或几个月分成几天等。然后在您的程序中读取和写入您需要的较小文件。要遍历所有这些,您需要编写一个循环,而在您只是打开文件之前,但是这个额外的代码并不是很复杂,而且很明显,花一点时间编写它比不断耗尽内存要好得多。